1 package de.jos.game.actions;
2
3 import java.awt.Graphics2D;
4 import java.util.List;
5
6 import com.golden.gamedev.GameObject;
7
8 import de.jos.game.objects.ResourceContainer;
9
10 /***
11 * Interface welches einen SpecialActionEvent beschreibt. Jedes
12 * SpecialActionEvent beschreibt selbst, wie es gerendert wird.
13 *
14 *
15 * @author root
16 *
17 */
18 public interface SpecialActionEvent {
19
20 public void setResourceContainer(ResourceContainer resourceContainer);
21
22 public void init();
23
24 public boolean isBlocking();
25
26 public Integer getLayer();
27
28 /***
29 * If finished returns true, the actionEvent can be removed from the list.
30 *
31 * @return
32 */
33 public boolean isFinished();
34
35 public void update(long elapsedTime, GameObject gameObject);
36
37 public void render(Graphics2D graphics, GameObject gameObject);
38
39 /***
40 * Cleanup that is to be performed before removing the action.
41 *
42 */
43 public void cleanup();
44
45 public List<SpecialActionEvent> getNewSpecialEventList();
46
47 public String getName();
48
49 }