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

import dev.llan.model.board.Point;
import dev.llan.model.cards.Card;
import dev.llan.receivers.Receiver;

import java.util.Optional;

public interface Model {
  Game initGame();

  Game getCurrentGame();

  void registerReceiver(Receiver receiver);

  void removeReceiver(Receiver receiver);

  void tryMoveTo(Point position);

  void moveActivePath();

  void endTurn();

  void waitTurn();

  void useCardOn(Point position);

  void swapCards(int first, int second);

  Optional<Card> selectCard(int cardIndex);

  void removeCard(int index);

  void equip(int index);

  void swapEquipment(int first, int second);

  void removeEquipment(int index);

  void setHighlighted(Point point, boolean highlighted);

  boolean isInRange(Point point);
}