00001 #include "Command.h" 00002 #include "List.h" 00003 00004 using namespace std; 00005 00006 Command *Command::loadCommand(List *command) 00007 { 00008 Command *newCommand; 00009 00010 if(command->firstString() == JumpCommand::id()) 00011 newCommand = new JumpCommand(command); 00012 else if(command->firstString() == JumpResetCommand::id()) 00013 newCommand = new JumpResetCommand(command); 00014 else if(command->firstString() == MoveCommand::id()) 00015 newCommand = new MoveCommand(command); 00016 else if(command->firstString() == TurnCommand::id()) 00017 newCommand = new TurnCommand(command); 00018 else if(command->firstString() == PlayMusicCommand::id()) 00019 newCommand = new PlayMusicCommand(command); 00020 else if(command->firstString() == PlaySoundCommand::id()) 00021 newCommand = new PlaySoundCommand(command); 00022 else if(command->firstString() == FollowPlayerCommand::id()) 00023 newCommand = new FollowPlayerCommand(command); 00024 else if(command->firstString() == FollowPlayerInRangeCommand::id()) 00025 newCommand = new FollowPlayerInRangeCommand(command); 00026 else if(command->firstString() == ShootCommand::id()) 00027 newCommand = new ShootCommand(command); 00028 else if(command->firstString() == ShootInRangeCommand::id()) 00029 newCommand = new ShootInRangeCommand(command); 00030 else if(command->firstString() == CutSceneTextCommand::id()) 00031 newCommand = new CutSceneTextCommand(command); 00032 else if(command->firstString() == SetCameraCommand::id()) 00033 newCommand = new SetCameraCommand(command); 00034 else if(command->firstString() == SetControlCommand::id()) 00035 newCommand = new SetControlCommand(command); 00036 else if(command->firstString() == PlayScriptCommand::id()) 00037 newCommand = new PlayScriptCommand(command); 00038 else if(command->firstString() == AimCommand::id()) 00039 newCommand = new AimCommand(command); 00040 else if(command->firstString() == SetCutSceneCommand::id()) 00041 newCommand = new SetCutSceneCommand(command); 00042 else if(command->firstString() == AddHealthCommand::id()) 00043 newCommand = new AddHealthCommand(command); 00044 else if(command->firstString() == SetDoorLockCommand::id()) 00045 newCommand = new SetDoorLockCommand(command); 00046 else if(command->firstString() == AddScoreCommand::id()) 00047 newCommand = new AddScoreCommand(command); 00048 else if(command->firstString() == EndLevelCommand::id()) 00049 newCommand = new EndLevelCommand(command); 00050 else if(command->firstString() == StopPersonCommand::id()) 00051 newCommand = new StopPersonCommand(command); 00052 else if(command->firstString() == CrouchCommand::id()) 00053 newCommand = new CrouchCommand(command); 00054 00055 else 00056 cerr << "Unknown command type: " << command->firstString() << endl; 00057 00058 return newCommand; 00059 }