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

40 lines
1.3 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 stone that was clicked on,
* 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 stone that was clicked on,
* 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 the stone that was clicked on, the
* second is true when the player wants to add stones to his selection
* instead of replacing them
*/
public IEvent2<Stone, Boolean> getSetClickEvent();
}