JavaQuest.Server
Class CCmd

java.lang.Object
  |
  +--JavaQuest.Server.CCmd
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
CCmdAttack, CCmdDrop, CCmdGet, CCmdMove, CCmdSearch, CCmdUse

public class CCmd
extends java.lang.Object
implements java.io.Serializable

Ober-Klasse aller Kommandos. Sie wird verschafft den Kommandos ein einheitliches Interface, so dass das System flexibel erweitert werden kann. Die einzelnen Verhaltensweisen werden durch Polymorphie über die Subklassen realisiert. Die Kommando-Factory CCmdFactory erstellt für eine gegebene Position alle möglichen Kommandos.

See Also:
CCmdFactory, CCmdAttack, CCmdDrop, CCmdGet, CCmdMove, CCmdSearch, CCmdUse, Serialized Form

Field Summary
protected  boolean m_bExecutable
          Flag ob Kommando ausfuehrbar ist
protected  CPlayer m_oPlayer
          Referenz auf den Spieler, der das Kommando ausfuehrt
protected  CServerProxy m_oServerProxy
          Serverproxy, fuer CGame-Funktionalitaet ohne CGame-Referenz
protected  java.lang.String m_strName
          Name des Kommandos für das Kontextmenü
 
Constructor Summary
CCmd()
          Default-Konstruktor
CCmd(CServerProxy _oServerProxy, CPlayer _oPlayer)
          Konstruktor mit ServerProxy- und Playerreferenz.
CCmd(CServerProxy _oServerProxy, CPlayer _oPlayer, java.lang.String _strName)
          Konstruktor mit ServerProxy- und Playerreferenz und Name
 
Method Summary
 boolean checkPossibility()
          Prüfen, ob Kommando ausführbar ist.
 boolean execute()
          Kommando ausfuehren
 java.lang.String getName()
          Name zurückliefern
 CPlayer getPlayer()
          Player auf Anfrage zurueckgeben
 void setName(java.lang.String _strName)
          Name setzen
 void setPlayer(CPlayer _oPlayer)
          Player setzen
 void setServerProxy(CServerProxy _oServerProxy)
          ServerProxy setzen, fuer CGame-Funktionalitaet ohne CGame-Referenz
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

m_oServerProxy

protected CServerProxy m_oServerProxy
Serverproxy, fuer CGame-Funktionalitaet ohne CGame-Referenz

m_oPlayer

protected CPlayer m_oPlayer
Referenz auf den Spieler, der das Kommando ausfuehrt

m_bExecutable

protected boolean m_bExecutable
Flag ob Kommando ausfuehrbar ist

m_strName

protected java.lang.String m_strName
Name des Kommandos für das Kontextmenü
Constructor Detail

CCmd

public CCmd()
Default-Konstruktor

CCmd

public CCmd(CServerProxy _oServerProxy,
            CPlayer _oPlayer,
            java.lang.String _strName)
Konstruktor mit ServerProxy- und Playerreferenz und Name
Parameters:
_oServerProxy - Server Proxy Objekt
_oPlayer - Player, von dem das Kommando ausgeführt werden soll.
_strName - Beschreibender Name des Kommandos (für Kontext-Menü)
See Also:
CServerProxy, CPlayer

CCmd

public CCmd(CServerProxy _oServerProxy,
            CPlayer _oPlayer)
Konstruktor mit ServerProxy- und Playerreferenz. Der Name wird automatisch erstellt.
Parameters:
_oServerProxy - Server Proxy Objekt
_oPlayer - Player, von dem das Kommando ausgeführt werden soll.
See Also:
CServerProxy, CPlayer
Method Detail

setServerProxy

public void setServerProxy(CServerProxy _oServerProxy)
ServerProxy setzen, fuer CGame-Funktionalitaet ohne CGame-Referenz

setName

public void setName(java.lang.String _strName)
Name setzen
Parameters:
_strName - Name

setPlayer

public void setPlayer(CPlayer _oPlayer)
Player setzen
Parameters:
_oPlayer - Betroffener Player

getPlayer

public CPlayer getPlayer()
Player auf Anfrage zurueckgeben
Returns:
Betroffener Player

getName

public java.lang.String getName()
Name zurückliefern
Returns:
Kommandoname

checkPossibility

public boolean checkPossibility()
Prüfen, ob Kommando ausführbar ist. Wir in der Factory benötigt.
Returns:
true, wenn ausführbar.

execute

public boolean execute()
                throws java.rmi.RemoteException
Kommando ausfuehren
Returns:
true, wenn erfolgreich ausgeführt.