20 package net.sf.gridarta.actions;
28 import org.jetbrains.annotations.NotNull;
47 public static <G extends GameObject<G, A, R>, A extends
MapArchObject<A>, R extends
Archetype<G, A, R>>
void undo(@NotNull
final UndoModel<G, A, R> undoModel, @NotNull
final MapModel<G, A, R> mapModel) {
56 public static <G extends GameObject<G, A, R>, A extends
MapArchObject<A>, R extends
Archetype<G, A, R>>
void redo(@NotNull
final UndoModel<G, A, R> undoModel, @NotNull
final MapModel<G, A, R> mapModel) {
66 private static <G extends GameObject<G, A, R>, A extends
MapArchObject<A>, R extends
Archetype<G, A, R>>
void applyChange(@NotNull
final UndoModel<G, A, R> undoModel, @NotNull
final MapModel<G, A, R> mapModel, @NotNull
final UndoState<G, A, R> undoState) {
68 mapModel.beginTransaction(undoState.getName());
70 final A newMapArchObject = undoState.getMapArchObject();
72 mapArchObject.
setMapSize(newMapArchObject.getMapSize());
75 mapArchObject.
setState(newMapArchObject);
79 undoState.getSavedSquares().applyChanges(mapModel);
81 mapModel.endTransaction();