![]() |
Forward Class ReferenceCommand: move forward.
More...
|
Public Member Functions | |
Forward () | |
void | Execute (InSocket *, const std::string ¶ms, Parse &) |
Execute command. | |
std::string | Category () |
Get command category. |
Definition at line 28 of file Forward.h.
Forward::Forward | ( | ) | [inline] |
void Forward::Execute | ( | InSocket * | , | |
const std::string & | arg, | |||
Parse & | ||||
) | [virtual] |
Execute command.
Implements Command.
Definition at line 31 of file Forward.cpp.
References Command::GetCommand(), Player::GetFacing(), and Player::SetFacing().
00032 { 00033 if (from -> GetMoveEvent()) 00034 { 00035 from -> BufferMove("forward"); 00036 } 00037 else 00038 { 00039 Player pl(from -> GetDatabase(),from -> GetAccountName()); 00040 Command *cc = NULL; 00041 if (!pl.GetFacing()) 00042 pl.SetFacing(1); 00043 switch (pl.GetFacing()) 00044 { 00045 case 1: // north 00046 cc = static_cast<FutureHandler&>(from -> Handler()).GetCommand("north"); 00047 break; 00048 case 2: // south 00049 cc = static_cast<FutureHandler&>(from -> Handler()).GetCommand("south"); 00050 break; 00051 case 3: // east 00052 cc = static_cast<FutureHandler&>(from -> Handler()).GetCommand("east"); 00053 break; 00054 case 4: // west 00055 cc = static_cast<FutureHandler&>(from -> Handler()).GetCommand("west"); 00056 break; 00057 } 00058 if (cc) 00059 { 00060 cc -> Execute(from, params, pa); 00061 return; 00062 } 00063 from -> Send("Not OK.\n"); 00064 from -> SetPrompt(); 00065 } 00066 }
std::string Forward::Category | ( | ) | [inline, virtual] |