1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.magicproject.action.listener;
20
21 import net.sf.magicproject.clickable.targetable.card.TriggeredCard;
22
23 /***
24 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
25 * @since 0.86
26 */
27 public interface WaitingTriggeredCard extends Waiting {
28
29 /***
30 * Called to specify the triggered card chosen for the current action by the
31 * handed player
32 *
33 * @param triggeredCard
34 * the clicked card by the handed player for the current action
35 * @return true if this click has been managed. Return false if this click has
36 * been ignored
37 */
38 boolean clickOn(TriggeredCard triggeredCard);
39
40 /***
41 * This function should be called by the 'clickOn' caller in case of the
42 * specified triggered has been handled during the checking validity of this
43 * click in the <code>clickOn(TriggeredCard)</code> function. <br>
44 * <ul>
45 * The calls chain is :
46 * <li>actionListener call clickOn(TriggeredCard)
47 * <li>if returned value is false we give hand to the player and exit, else
48 * we continue
49 * <li>actionListener call succeedClickOn(TriggeredCard)
50 * </ul>
51 *
52 * @param card
53 * the triggered card that was clicked and successfuly handled by the
54 * <code>clickOn(TriggeredCard)</code> function.
55 * @return true if this action is completed
56 */
57 boolean succeedClickOn(TriggeredCard card);
58
59 void finished();
60
61 boolean manualSkip();
62 }