This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/src/jrummikub/view/IStonePanel.java

39 lines
1.4 KiB
Java
Raw Normal View History

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();
}