39 lines
1.4 KiB
Java
39 lines
1.4 KiB
Java
|
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();
|
||
|
}
|