org.jzuul.engine
Class EventHandler

java.lang.Object
  extended byorg.jzuul.engine.EventHandler

public class EventHandler
extends Object

Ein EventHandler behandelt Event. EventHandler können einer Klasse, die EventListener implementiert über die Methode setHandler() zugewiesen werden. Es gibt drei Einstiegspunkte für die Behandlung von Events: execute(GameObject) wird von Character Objekten und Item Objekten aufgerufen; execute(Room) wird von Room Objekten aufgerufen; execute() wird von execute(Room) aufgerufen; Die Methoden rufen sich untereinander selber auf, d.h. von oben nach unten werden immer weniger echte Aktionen ausgeführt.

Version:
$Revision: 1.12 $

Field Summary
protected  List actions
          Eine Liste von actions, die bei diesem Event ausgeführt werden sollen.
protected  List delete
          Liste von GameObject Namen, die bei diesem Event gelöscht werden sollen.
protected  List invobjects
          Liste von GameObject Namen, die bei diesem Event dem Player übergeben werden.
protected  List npcSayings
          Eine Liste von Strings die bei dem Event vom beteiligten NPC ausgegben werden sollen.
private  String owner
           
protected  List playerSayings
          Eine Liste von Strings die bei dem Event vom Spieler ausgegben werden sollen.
protected  Map properties
          Map von properties, die bei diesem Event geändert werden sollen.
protected  boolean randomSuccess
          Legt fest ob das Event RandomSuccess haben soll.
protected  List roomobjects
          Liste von GameObject Namen, die bei diesem Event dem Raum hinzugefügt werden
protected  TargetList targets
          TargetObjects die dem Spieler bei diesem Event zugewiesen werden.
 
Constructor Summary
EventHandler()
          Erstellt einen leeren EventHandler
 
Method Summary
 void addAction(String actionName)
          Fügt den Namen einer Aktion zu den bei dem Event ausgeführten Aktionen hinzu
 void addDeletition(String objName)
          Fügt den Namen eines GameObjects hinzu, das bei dem Event gelöscht werden soll.
 void addInvobject(String objName)
          Fügt den namen eines GameObjects hinzu, das bei dem Event dem Spieler übergeben werden soll
 void addNpcSaying(String sentence)
          Fügt einen Satz zu den bei dem Event ausgegbenen NPC Sätzen hinzu
 void addPlayerSaying(String sentence)
          Fügt einen Satz zu den bei dem Event ausgegbenen Sätzen hinzu
 void addRoomobject(String objName)
          Fügt den Namen eines GameObjects hinzu, das bei dem Event dem aktuellen Raum hinzugefügt werden soll.
 boolean execute()
          Execute methode ohne Parameter In dieser Methode wird die TargetList dem Spieler hinzugefügt und die Objekte die ins Inventar kommen und gelöscht werden bearbeitet, Die Methode wird von execute(Room) aufgerufen.
 boolean execute(GameObject obj)
          Die Haupmethode für GameObjects.
 boolean execute(Room r)
          Methode für Räume Hier werden Sätze im Namen des Players gesagt.
 boolean isCharacter(GameObject foo)
          Interne Methode zum überprüfen ob ein GameObject ein Character Objekt ist
 boolean notNull(Object foo)
          Interne Methode zum überprüfen auf Null
 void setOwner(String name)
           
 void setPropertyChanges(Map properties)
          Setzt die Map in der zu ändernde Eigenschaften eines GameObjects definiert werden
 void setRandomSuccess(boolean isRandomSuccess)
          Definiert ob die auslösende Aktion zufällig ist.
 void setTargets(TargetList targets)
          Setzt die TargetList die die TargetObjects enthällt die bei der Aktion dem Spieler hinzugefüht werden
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

playerSayings

protected List playerSayings
Eine Liste von Strings die bei dem Event vom Spieler ausgegben werden sollen.


npcSayings

protected List npcSayings
Eine Liste von Strings die bei dem Event vom beteiligten NPC ausgegben werden sollen.


actions

protected List actions
Eine Liste von actions, die bei diesem Event ausgeführt werden sollen.


targets

protected TargetList targets
TargetObjects die dem Spieler bei diesem Event zugewiesen werden.


invobjects

protected List invobjects
Liste von GameObject Namen, die bei diesem Event dem Player übergeben werden.


roomobjects

protected List roomobjects
Liste von GameObject Namen, die bei diesem Event dem Raum hinzugefügt werden


delete

protected List delete
Liste von GameObject Namen, die bei diesem Event gelöscht werden sollen. Hierbei wird sowohl im Raum als auch im Inventar des Spielers nachgeschaut.


properties

protected Map properties
Map von properties, die bei diesem Event geändert werden sollen.


randomSuccess

protected boolean randomSuccess
Legt fest ob das Event RandomSuccess haben soll. Steuert den Rückgabewert der execute Methode.


owner

private String owner
Constructor Detail

EventHandler

public EventHandler()
Erstellt einen leeren EventHandler

Method Detail

addPlayerSaying

public void addPlayerSaying(String sentence)
Fügt einen Satz zu den bei dem Event ausgegbenen Sätzen hinzu

Parameters:
sentence - der neue Satz

addNpcSaying

public void addNpcSaying(String sentence)
Fügt einen Satz zu den bei dem Event ausgegbenen NPC Sätzen hinzu

Parameters:
sentence - der neue Satz

addAction

public void addAction(String actionName)
Fügt den Namen einer Aktion zu den bei dem Event ausgeführten Aktionen hinzu

Parameters:
actionName - der Name einer aktion (z.B. moveRandom)

setTargets

public void setTargets(TargetList targets)
Setzt die TargetList die die TargetObjects enthällt die bei der Aktion dem Spieler hinzugefüht werden

Parameters:
targets - eine TargetList mit neuen Targets

addInvobject

public void addInvobject(String objName)
Fügt den namen eines GameObjects hinzu, das bei dem Event dem Spieler übergeben werden soll

Parameters:
objName - der Name eines existierenden GameObjects

addRoomobject

public void addRoomobject(String objName)
Fügt den Namen eines GameObjects hinzu, das bei dem Event dem aktuellen Raum hinzugefügt werden soll.

Parameters:
objName - der Name eines existierenden GameObjects

addDeletition

public void addDeletition(String objName)
Fügt den Namen eines GameObjects hinzu, das bei dem Event gelöscht werden soll.

Parameters:
objName - der Name eines existierenden GameObjects

setPropertyChanges

public void setPropertyChanges(Map properties)
Setzt die Map in der zu ändernde Eigenschaften eines GameObjects definiert werden

Parameters:
properties - eine Map von Eigenschaftsnamen und neuen Werten

setRandomSuccess

public void setRandomSuccess(boolean isRandomSuccess)
Definiert ob die auslösende Aktion zufällig ist.

Parameters:
isRandomSuccess - true wenn dem so ist, false sonst

execute

public boolean execute(GameObject obj)
Die Haupmethode für GameObjects. Wird von den doEvent() Methoden von GameObject aufgerufen, die sich selber übergeben. Falls das übergebene GameObject ein Character Objekt ist wird die Action für den Charakter ausgeführt und die Sätze von dem Character gesagt. Da Characters überprüfen ob sie sich im selben Raum wie der Spieler befinden bevor sie etwas sagen kann hier die Ausgabe auch ins leere verlaufen. Properties werden in dem übergebenen GameObject geändert. Danach wird die Methode excecute(Room) mit dem aktuellen Raum des Spielers aufgerufen.

Parameters:
obj - das GameObject das das Event bekommen hat
Returns:
true be erfolg, false otherwise

execute

public boolean execute()
Execute methode ohne Parameter In dieser Methode wird die TargetList dem Spieler hinzugefügt und die Objekte die ins Inventar kommen und gelöscht werden bearbeitet, Die Methode wird von execute(Room) aufgerufen.

Returns:
always true

execute

public boolean execute(Room r)
Methode für Räume Hier werden Sätze im Namen des Players gesagt. Die excute(GameObject) methode löscht gesagt Sätze falls ein Character übergeben wurde, daher werden hier nur Sätze in Verbindung mit Items gesagt. Die Sätze werden nur ausgegeben wenn der übergebene Raum auch der aktuelle Raum des Spielers ist. Danach werden dem Übergebenen Raumobjekt die eingestellten GameObjects hinzugefügt. Zuletzt wird execute() aufgerufen, danach entscheidet das Random Success ob die Methode true oder false zurückgibt. Die Methode wird von der doEvent() Methode von Räumen direkt aufgerufen.

Parameters:
r - ein Room Objekt
Returns:
true if RandomSuccess == false, else random true or false

notNull

public boolean notNull(Object foo)
Interne Methode zum überprüfen auf Null

Parameters:
foo - ein Object
Returns:
foo != null

isCharacter

public boolean isCharacter(GameObject foo)
Interne Methode zum überprüfen ob ein GameObject ein Character Objekt ist

Parameters:
foo - ein GameObject
Returns:
true falls es ein CharacterObject ist, false sonst

setOwner

public void setOwner(String name)


Copyright © 2004 JZuul.org All Rights Reserved.
This documentation may be distributed and/or modified under the terms of the FDL