mourning-ember / src / main / java / dev / llan / model / state / GameState.java
GameState.java
Raw
package dev.llan.model.state;

import dev.llan.model.board.Point;
import dev.llan.events.GameEvent;

import java.util.List;

public interface GameState {
  List<GameEvent> tryMoveTo(Point position);

  List<GameEvent> moveActivePath();

  List<GameEvent> endTurn();

  List<GameEvent> waitTurn();

  List<GameEvent> selectCard(int cardIndex);

  List<GameEvent> useCardOn(Point position);

  List<GameEvent> swapCards(int first, int second);

  List<GameEvent> removeCard(int index);

  List<GameEvent> equip(int index);

  List<GameEvent> swapEquipment(int first, int second);

  List<GameEvent> removeEquipment(int index);

  List<GameEvent> onSwapTo();

  List<GameEvent> setHighlighted(Point point, boolean highlighted);

  State getState();
}