diff options
Diffstat (limited to 'src/jrummikub/view/IStonePanel.java')
-rw-r--r-- | src/jrummikub/view/IStonePanel.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/jrummikub/view/IStonePanel.java b/src/jrummikub/view/IStonePanel.java new file mode 100644 index 0000000..6720902 --- /dev/null +++ b/src/jrummikub/view/IStonePanel.java @@ -0,0 +1,38 @@ +package jrummikub.view; + +import jrummikub.model.Stone; +import jrummikub.util.IEvent2; + +/** + * An interface for view elements that can emit click events for clicks on stones + */ +public interface IStonePanel { + /** + * the click event is emitted when the player clicks on the table/hand/etc. + * + * @return the event; the first parameter is the position of the click in grid + * coordinates, the second is true when the player wants to add stones + * to his selection instead of replacing them + */ + public IEvent2<Stone, Boolean> getStoneClickEvent(); + + /** + * the range click event is emitted when the player clicks on the table/hand/ + * etc. and wants to select a range instead of a single stone + * + * @return the event; the first parameter is the position of the click in grid + * coordinates, the second is true when the player wants to add stones + * to his selection instead of replacing them + */ + public IEvent2<Stone, Boolean> getRangeClickEvent(); + + /** + * the set click event is emitted when the player clicks on the table/hand/ + * etc. and wants to select a whole set instead of a single stone + * + * @return the event; the first parameter is the position of the click in grid + * coordinates, the second is true when the player wants to add stones + * to his selection instead of replacing them + */ + public IEvent2<Stone, Boolean> getSetClickEvent(); +} |