public abstract class MultiEdgeEvent<S extends PuzzleInstance> extends BaseEvent<S>
Constructor and Description |
---|
MultiEdgeEvent(S game)
Used in DoubleEdgeEvent.
|
MultiEdgeEvent(S game,
java.util.ArrayList<Edge> edges) |
MultiEdgeEvent(S game,
Edge edge) |
Modifier and Type | Method and Description |
---|---|
void |
decodeData(java.lang.String data)
We assume the list of edges was encoded by edge index.
|
static java.lang.String |
edgesToString(java.util.ArrayList<Edge> eds) |
java.util.ArrayList<Edge> |
getEdges() |
java.lang.String |
getPrintableDetails()
Return the details for printing (e.g.
|
boolean |
involvesMultipleVertices() |
boolean |
involvesOneVertex()
Not sure these two methods are correct.
|
boolean |
isSameEvent(Event e) |
void |
performEvent()
For these events we need to delay actual decoding.
|
void |
reallyDecodeData() |
void |
setEdge(Edge e) |
int |
size() |
canUserGenerate, clearComments, encodeEvent, encodeEvents, equals, getAfterActionComment, getBeforeActionComment, getBetweenActionComment, getDefaultBeforeActionComment, getDefaultBetweenActionComment, getDefaultIntroductoryComment, getEventName, getGame, getIntroductoryComment, getInverseEvent, getRealAfterActionComment, getRealBeforeActionComment, getRealBetweenActionComment, getRealIntroductoryComment, getTimeSinceFirstEvent, hashCode, isCreatedFromConstructor, modifiedGraph, modifiedPuzzle, performInverseEvent, performTakebackEvent, setAfterActionComment, setBeforeActionComment, setBetweenActionComment, setCreatedFromConstructor, setGame, setIntroductoryComment, setTimeSinceFirstEvent, toString, toStringWithoutTime
takebackSideEffects
public MultiEdgeEvent(S game)
public void setEdge(Edge e)
public java.util.ArrayList<Edge> getEdges()
public final void decodeData(java.lang.String data)
public final void performEvent()
public void reallyDecodeData()
public boolean isSameEvent(Event e)
isSameEvent
in interface Event<S extends PuzzleInstance>
isSameEvent
in class BaseEvent<S extends PuzzleInstance>
public java.lang.String getPrintableDetails()
BaseEvent
getPrintableDetails
in class BaseEvent<S extends PuzzleInstance>
public int size()
public static java.lang.String edgesToString(java.util.ArrayList<Edge> eds)
public boolean involvesOneVertex()
involvesOneVertex
in interface Event<S extends PuzzleInstance>
involvesOneVertex
in class BaseEvent<S extends PuzzleInstance>
public boolean involvesMultipleVertices()
involvesMultipleVertices
in interface Event<S extends PuzzleInstance>
involvesMultipleVertices
in class BaseEvent<S extends PuzzleInstance>