package dev.llan.model.cards; import dev.llan.model.cards.behaviors.CardBehavior; import dev.llan.model.pieces.Entity; import javafx.scene.image.Image; public interface Card { CardBehavior getBehavior(); double getCost(); double getWeight(); double getRange(); double getBasePower(); void setCanPlay(boolean canPlay); boolean canPlay(); void onPlayed(); void setOnPlayed(Runnable callback); void clearOnPlayed(); String getName(); String[] getNotes(); Image getImage(); Image getIcon(); Card clone(Entity actor); }