org.jzuul.engine.rooms
Class Room

java.lang.Object
  extended byorg.jzuul.engine.rooms.Room
All Implemented Interfaces:
EventListener
Direct Known Subclasses:
BeamRoom, TransitionRoom

public class Room
extends Object
implements EventListener

Ein normaler Raum

Version:
$Revision: 1.17 $

Field Summary
protected  String beschreibung
          enthält die Beschriebung des Raumes
protected  String[] blickrichtungen
          die Beschreibungen für "look"
protected  Inventory contents
          Der Inhalt des Raumes
protected  EventHandler[] eventHandlers
          Die EventHandler für diesen Raum
protected  InputStream imageStream
          Enthällt den Stream auf das für den Raum definierte Bild
protected  String name
          Der Name des Raumes
protected  Room[] wege
          Die Raum Objekte die an diesen Raum grenzen
 
Constructor Summary
Room(String name)
          Konstruktor, erstellt einen Raum OHNE Beschreibung
Room(String name, String beschreibung)
          Erzeuge eine Room Objekt mit einer Beschreibung.
 
Method Summary
protected  void defaultHandler(int eventId)
          Default EventHandler für die Fälle Event.PLAYERENTER und Event.PLAYERLEAVE.
 void doEvent(int id)
          Führt ein Event aus und ruft den defaulHandler auf
 Inventory getContent()
          Ermöglicht den Zugriff auf das "Inventar" des Raumes, ein Room Objekt kann unendlich viele Dinge enthalten
 String getDescription()
          Liefere die Beschreibung dieses Raums (die dem Konstruktor übergeben wurde).
 Room getDownway()
          Zugriff auf das Room Objekt unter diesem Room Objekt
 void getFromPool(String objName)
          Weist den Raum an, ein GameObject aus dem globalen ObjectPool in sein Inventar zu übernehmen
 String getName()
          Zugriff auf den Namen eines Raumes
 Room getRoomByOrientation(int direction)
          Gibt ein Room Objekt in einer gegebenen Himmelsrichtung zurück
 Room getRoomByOrientation(String orientation)
          Gibt das Room Objekt in einer Himmelsrichtung zurück
 Room getUpway()
          Zugriff auf das Room Objekt über diesem Room Objekt
 String getWayDescriptionByDirection(int direction)
          Gibt due Beschreibung für eine Himmelrichtung zurück (für "look") Für d Directions.TOP und Directions.BELOW wird ein default Wert zurückgegeben,
 String getWayDescriptionByDirection(String direction)
          Gibt die Beschreibung einer Himmelsrichtung zurück
 List getWays()
          Zugriffe auf alle an ein Room Objekt grenzenden Räume
 String getWegeAsString()
          Wandelt die möglichen Wege, also Himmelsrichtungen für die ein Room Objekt existiert in eine Beschreibung um
 void notifyContained(int id)
          Leitet ein Event an die enthaltenen GameObjects weiter
 void printBeschreibung()
          Gibt die Beschreibung aus
 void setDescriptionsUpDown(String up, String down)
          Setzt die Beschreibungen für oben und unten
 void setExitByDirection(int direction, Room raum)
          Weist dem Room Objekt eine neues benachbartes Objekt zu
 void setHandler(String name, EventHandler handler)
          Setzt den EventHandler für eine Event.
 void setImageStream(InputStream imageStream)
          Setzt dem Raum den auf das Bild verweisenden Stream
 void setInv(Inventory newInv)
          Weist dem Raum ein Inventar zu
 void setWayDescription(int direction, String description)
          Setzt die Beschreibung für eine Himmelsrichtung die mit "look" eingesehen werden kann.
 Element toElement()
          Wandelt einen Raum und die enthaltenen Objekte in ein JDOM XML Element um
protected  Element viewsToElement()
          Wandelt die Wege (Blickrichtungsbeschreibungen) in ein JDOM XML Element um
protected  Element waysToElement()
          Wandelt die Wege (angrenzende Room Objekte) in ein JDOM XML Element um
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

beschreibung

protected String beschreibung
enthält die Beschriebung des Raumes


blickrichtungen

protected String[] blickrichtungen
die Beschreibungen für "look"


wege

protected Room[] wege
Die Raum Objekte die an diesen Raum grenzen


name

protected String name
Der Name des Raumes


eventHandlers

protected EventHandler[] eventHandlers
Die EventHandler für diesen Raum


contents

protected Inventory contents
Der Inhalt des Raumes


imageStream

protected InputStream imageStream
Enthällt den Stream auf das für den Raum definierte Bild

Constructor Detail

Room

public Room(String name)
Konstruktor, erstellt einen Raum OHNE Beschreibung

Parameters:
name - der Name des Raumes, ermöglicht den Zugriff innerhalb einer GameMap

Room

public Room(String name,
            String beschreibung)
Erzeuge eine Room Objekt mit einer Beschreibung. Ein Raum hat anfangs keine Ausgänge.

Parameters:
name - der Name des Raumes, ermöglicht den Zugriff innerhalb einer GameMap
beschreibung - enthält eine Beschreibung in der Form "in einer Küche" oder "auf einem Sportplatz".
Method Detail

getContent

public Inventory getContent()
Ermöglicht den Zugriff auf das "Inventar" des Raumes, ein Room Objekt kann unendlich viele Dinge enthalten

Returns:
das Inventory Objekt des Raumes

getDownway

public Room getDownway()
Zugriff auf das Room Objekt unter diesem Room Objekt

Returns:
das Room Objekt unter dem aktuellen Raum

getUpway

public Room getUpway()
Zugriff auf das Room Objekt über diesem Room Objekt

Returns:
das Room Objekt under dem aktuellen Room Objekt

getRoomByOrientation

public Room getRoomByOrientation(int direction)
Gibt ein Room Objekt in einer gegebenen Himmelsrichtung zurück

Parameters:
direction - die Himmelsrichtung
Returns:
den Raum in dieser Himmelsrichtung, null falls dort keiner ist
See Also:
Directions

getWayDescriptionByDirection

public String getWayDescriptionByDirection(int direction)
Gibt due Beschreibung für eine Himmelrichtung zurück (für "look") Für d Directions.TOP und Directions.BELOW wird ein default Wert zurückgegeben,

Parameters:
direction - Eine mögliche Richtung wie north,east,south und west oder up and down
Returns:
die Beschreibung in dieser Richtung, null wenn es keine Beschreibung gibt.
See Also:
Directions

getDescription

public String getDescription()
Liefere die Beschreibung dieses Raums (die dem Konstruktor übergeben wurde).

Returns:
die Beschreibeung des Raumes

doEvent

public void doEvent(int id)
Führt ein Event aus und ruft den defaulHandler auf

Specified by:
doEvent in interface EventListener
Parameters:
id - die Event ID
See Also:
Event

defaultHandler

protected void defaultHandler(int eventId)
Default EventHandler für die Fälle Event.PLAYERENTER und Event.PLAYERLEAVE. Der Raum gibt diese Events an sein Inventory weiter. Bei einem PLAYERENTER wird zusätzlich die Beschreibung ausgegeben

Parameters:
eventId - die EventId
See Also:
Event, EventHandler

printBeschreibung

public void printBeschreibung()
                       throws GuiNotInitializedException
Gibt die Beschreibung aus

Throws:
GuiNotInitializedException - wenn Engine.gui == null

getWegeAsString

public String getWegeAsString()
Wandelt die möglichen Wege, also Himmelsrichtungen für die ein Room Objekt existiert in eine Beschreibung um

Returns:
die Namen der Himmelsrichtungen für die Room Objekte existieren

setDescriptionsUpDown

public void setDescriptionsUpDown(String up,
                                  String down)
Setzt die Beschreibungen für oben und unten

Parameters:
up - die neue Beschreibung für Oben
down - die neue Beschreibung für Unten

getWays

public List getWays()
Zugriffe auf alle an ein Room Objekt grenzenden Räume

Returns:
eine Liste von Room Objekten die an den aktuellen Raum grenzen

setExitByDirection

public void setExitByDirection(int direction,
                               Room raum)
Weist dem Room Objekt eine neues benachbartes Objekt zu

Parameters:
direction - die Himmelrichtung
raum - das Room Objekt
See Also:
Directions

setWayDescription

public void setWayDescription(int direction,
                              String description)
Setzt die Beschreibung für eine Himmelsrichtung die mit "look" eingesehen werden kann.

Parameters:
direction - die Richtung
description - die neue Beschreibung
See Also:
Directions

getRoomByOrientation

public Room getRoomByOrientation(String orientation)
Gibt das Room Objekt in einer Himmelsrichtung zurück

Parameters:
orientation - der Name eine Himmelsrichtung
Returns:
das Room Objekt in dieser Richtung, null falls keines existiert
See Also:
Directions

getWayDescriptionByDirection

public String getWayDescriptionByDirection(String direction)
Gibt die Beschreibung einer Himmelsrichtung zurück

Parameters:
direction - der Name einer Himmelrichtung
Returns:
die Beschreibung für diese Himmelsrichtung
See Also:
Directions

getName

public String getName()
Zugriff auf den Namen eines Raumes

Returns:
der Name des Raumes

toElement

public Element toElement()
Wandelt einen Raum und die enthaltenen Objekte in ein JDOM XML Element um

Returns:
das JDOM XML Element das diesen Raum beschreibt

waysToElement

protected Element waysToElement()
Wandelt die Wege (angrenzende Room Objekte) in ein JDOM XML Element um

Returns:
ein JDOM XML Element das die Namen der Räume beschreibt, die an diesen Raum grenzen

viewsToElement

protected Element viewsToElement()
Wandelt die Wege (Blickrichtungsbeschreibungen) in ein JDOM XML Element um

Returns:
ein JDOM XML Element das die Wegbeschreibungen enthällt

setInv

public void setInv(Inventory newInv)
Weist dem Raum ein Inventar zu

Parameters:
newInv - das neue Inventar

getFromPool

public void getFromPool(String objName)
Weist den Raum an, ein GameObject aus dem globalen ObjectPool in sein Inventar zu übernehmen

Parameters:
objName - der Name des GameObjects das geholt werden soll

notifyContained

public void notifyContained(int id)
Leitet ein Event an die enthaltenen GameObjects weiter

Parameters:
id - die Id des Events
See Also:
Event

setHandler

public void setHandler(String name,
                       EventHandler handler)
Setzt den EventHandler für eine Event.

Specified by:
setHandler in interface EventListener
Parameters:
name - der Name des Events
handler - das EventHandler Objekt für dieses Event
See Also:
EventHandler

setImageStream

public void setImageStream(InputStream imageStream)
Setzt dem Raum den auf das Bild verweisenden Stream

Parameters:
imageStream - ein InputStream der ein Bild enthällt


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