C:/Documents and Settings/jegan/Desktop/projectX/Command.h

Go to the documentation of this file.
00001 #ifndef COMMAND_H
00002 #define COMMAND_H
00003 
00004 #include <string>
00005 #include "SDL_mixer.h"
00006 #include "Sprite.h"
00007 
00008 class Object;
00009 class Person;
00010 class Player;
00011 class List;
00012 
00013 class Command
00014 {
00015 public:
00016         virtual void execute()=0;
00017         virtual std::string getString()=0;
00018         static Command *loadCommand(List *command);
00019 
00020 };
00021 
00022 class JumpCommand : public Command
00023 {
00024 public:
00025         JumpCommand(Person* person, xDirection xDir);
00026         JumpCommand(List *command);
00027         void execute();
00028         std::string getString();
00029         static std::string id() {return _id;}
00030 private:
00031 //      Person* _person;
00032         std::string _person;
00033         xDirection _xDir;
00034 
00035         static const std::string _id;
00036 };
00037 
00038 class JumpResetCommand : public Command
00039 {
00040 public:
00041         JumpResetCommand(Person* person);
00042         JumpResetCommand(List *command);
00043         void execute();
00044         std::string getString();
00045         static std::string id() {return _id;}
00046 private:
00047         //Person* _person;
00048         std::string _person;
00049 
00050         static const std::string _id;
00051 };
00052 
00053 class CrouchCommand : public Command
00054 {
00055 public:
00056         CrouchCommand(Person* person, bool crouch = true);
00057         CrouchCommand(List *command);
00058         void execute();
00059         std::string getString();
00060         static std::string id() {return _id;}
00061 private:
00062         Person* _person;
00063         bool _crouch;
00064 
00065         static const std::string _id;
00066 };
00067 
00068 class MoveCommand: public Command
00069 {
00070 public:
00071         MoveCommand(Person *person, xDirection xDir);
00072         MoveCommand(List *command);
00073 
00074         void execute();
00075         std::string getString();
00076         static std::string id() {return _id;}
00077 private:
00078         //Person * _person;
00079         std::string _person;
00080         xDirection _xDir;
00081 
00082         static const std::string _id;
00083 };
00084 
00085 class TurnCommand: public Command
00086 {
00087 public:
00088         TurnCommand(Person *person, xDirection xDir);
00089         TurnCommand(List *command);
00090 
00091         void execute();
00092         std::string getString();
00093         static std::string id() {return _id;}
00094 private:
00095         Person * _person;
00096         xDirection _xDir;
00097 
00098         static const std::string _id;
00099 };
00100 
00101 class PlayMusicCommand: public Command
00102 {
00103 public:
00104         PlayMusicCommand( std::string filename );
00105         PlayMusicCommand( List* command );
00106         void execute();
00107         std::string getString();
00108         static std::string id() { return _id; }
00109 private:
00110         Mix_Music* _music;
00111         std::string _filename;
00112 
00113         static const std::string _id;
00114 };
00115 
00116 class PlaySoundCommand: public Command
00117 {
00118 public:
00119         PlaySoundCommand( std::string filename );
00120         PlaySoundCommand( List* command );
00121         void execute();
00122         std::string getString();
00123         static std::string id() { return _id; }
00124 private:
00125         std::string _filename;
00126 
00127         static const std::string _id;
00128 };
00129 
00130 class FollowPlayerCommand: public Command
00131 {
00132 public:
00133         FollowPlayerCommand(Person *person);
00134         FollowPlayerCommand(List *command);
00135 
00136         void execute();
00137         std::string getString();
00138         static std::string id() {return _id;}
00139 private:
00140         Person * _person;
00141 
00142         static const std::string _id;
00143 };
00144 
00145 class FollowPlayerInRangeCommand: public Command
00146 {
00147 public:
00148         FollowPlayerInRangeCommand(Person *person, int range);
00149         FollowPlayerInRangeCommand(List *command);
00150 
00151         void execute();
00152         std::string getString();
00153         static std::string id() {return _id;}
00154 private:
00155         Person * _person;
00156         int _range;
00157 
00158         static const std::string _id;
00159 };
00160 
00161 class RunFromPlayerInRangeCommand: public Command
00162 {
00163 public:
00164         RunFromPlayerInRangeCommand(Person *person, int range);
00165         RunFromPlayerInRangeCommand(List *command);
00166 
00167         void execute();
00168         std::string getString();
00169         static std::string id() {return _id;}
00170 private:
00171         Person * _person;
00172         int _range;
00173 
00174         static const std::string _id;
00175 };
00176 
00177 class ShootInRangeCommand: public Command
00178 {
00179 public:
00180         ShootInRangeCommand(Person *person, int range);
00181         ShootInRangeCommand(List *command);
00182 
00183         void execute();
00184         std::string getString();
00185         static std::string id() { return _id; }
00186 private:
00187         Person * _person;
00188         int _shootRange;
00189         static const std::string _id;
00190 };
00191 
00192 class ShootCommand: public Command
00193 {
00194 public:
00195         ShootCommand(Person *person);
00196         ShootCommand(List *command);
00197 
00198         void execute();
00199         std::string getString();
00200         static std::string id() { return _id; }
00201 private:
00202         //Person * _person;
00203         std::string _person;
00204         static const std::string _id;
00205 };
00206 
00207 class SecondaryShootCommand: public Command
00208 {
00209 public:
00210         SecondaryShootCommand(Player *player);
00211         SecondaryShootCommand(List *command);
00212 
00213         void execute();
00214         std::string getString();
00215         static std::string id() { return _id; }
00216 private:
00217         Player * _player;
00218         static const std::string _id;
00219 };
00220 
00221 class CutSceneTextCommand : public Command
00222 {
00223 public:
00224         CutSceneTextCommand(std::string text);
00225         CutSceneTextCommand(List *command);
00226 
00227         void execute();
00228         std::string getString();
00229         static std::string id() { return _id; }
00230 private:
00231         std::string _text;
00232         static const std::string _id;
00233 };
00234 
00235 class SetCameraCommand : public Command
00236 {
00237 public:
00238         SetCameraCommand(Object *object);
00239         SetCameraCommand(List *command);
00240 
00241         void execute();
00242         std::string getString();
00243         static std::string id() {return _id;}
00244 private:
00245         Object *_object;
00246         static const std::string _id;
00247 };
00248 
00249 class SetControlCommand : public Command
00250 {
00251 public:
00252         SetControlCommand(Object *object);
00253         SetControlCommand(List *command);
00254 
00255         void execute();
00256         std::string getString();
00257         static std::string id() {return _id;}
00258 private:
00259         Object *_object;
00260         static const std::string _id;
00261 };
00262 
00263 class PlayScriptCommand : public Command
00264 {
00265 public:
00266         PlayScriptCommand(std::string filename);
00267         PlayScriptCommand(List *command);
00268 
00269         void execute();
00270         std::string getString();
00271         static std::string id() {return _id;}
00272 private:
00273         std::string _filename;
00274         static const std::string _id;
00275 };
00276 
00277 class SetCutSceneCommand : public Command
00278 {
00279 public:
00280         SetCutSceneCommand(bool cutScene);
00281         SetCutSceneCommand(List *command);
00282 
00283         void execute();
00284         std::string getString();
00285         static std::string id() {return _id;}
00286 private:
00287         bool _cutScene;
00288         static const std::string _id;
00289 };
00290 
00291 class AimCommand: public Command
00292 {
00293 public:
00294         AimCommand(Person *person, yDirection yDir);
00295         AimCommand(Person *person, Object *target = NULL);
00296         AimCommand(List *command);
00297 
00298         void execute();
00299         std::string getString();
00300         static std::string id() {return _id;}
00301 private:
00302         //Person* _person;
00303         std::string _person;
00304         yDirection _yDir;
00305         xDirection _xDir;
00306 
00307         Object* _target;
00308 
00309         static const std::string _id;
00310 };
00311 
00312 class AddHealthCommand: public Command
00313 {
00314 public:
00315         AddHealthCommand(Person *person, int dHealth);
00316         AddHealthCommand(List *command);
00317 
00318         void execute();
00319         std::string getString();
00320         static std::string id() {return _id;}
00321 private:
00322         Person* _person;
00323         int _dHealth;
00324 
00325         static const std::string _id;
00326 };
00327 
00328 class Door;
00329 class SetDoorLockCommand: public Command
00330 {
00331 public:
00332         SetDoorLockCommand(Door *door, bool locked);
00333         SetDoorLockCommand(List *command);
00334 
00335         void execute();
00336         std::string getString();
00337         static std::string id() {return _id;}
00338 private:
00339         Door* _door;
00340         bool _locked;
00341 
00342         static const std::string _id;
00343 };
00344 
00345 class AddScoreCommand: public Command
00346 {
00347 public:
00348         AddScoreCommand(int score);
00349         AddScoreCommand(List *command);
00350 
00351         void execute();
00352         std::string getString();
00353         static std::string id() {return _id;}
00354 private:
00355         int _score;
00356 
00357         static const std::string _id;
00358 };
00359 
00360 class AddWeaponCommand: public Command
00361 {
00362 public:
00363         AddWeaponCommand(Player *player, std::string filename);
00364         AddWeaponCommand(List *command);
00365 
00366         void execute();
00367         std::string getString();
00368         static std::string id() {return _id;}
00369 private:
00370         std::string _filename;
00371         Player *_player;
00372 
00373         static const std::string _id;
00374 };
00375 
00376 class EndLevelCommand: public Command
00377 {
00378 public:
00379         EndLevelCommand();
00380         EndLevelCommand(List * list);
00381 
00382         void execute();
00383         std::string getString();
00384         static std::string id() {return _id;}
00385 private:
00386 
00387         static const std::string _id;
00388 
00389 };
00390 
00391 class StopPersonCommand: public Command
00392 {
00393 public:
00394         StopPersonCommand(Person *person);
00395         StopPersonCommand(List * list);
00396 
00397         void execute();
00398         std::string getString();
00399         static std::string id() {return _id;}
00400 private:
00401         //Person *_person;
00402         std::string _person;
00403 
00404         static const std::string _id;
00405 };
00406 
00407 class SaveCommand: public Command
00408 {
00409 public:
00410         SaveCommand() {;}
00411         SaveCommand(List *list) {;}
00412 
00413         void execute();
00414         std::string getString();
00415         static std::string id() {return _id;}
00416 private:
00417         static const std::string _id;
00418 };
00419 
00420 class RestoreCommand: public Command
00421 {
00422 public:
00423         RestoreCommand() {;}
00424         RestoreCommand(List *list) {;}
00425 
00426         void execute();
00427         std::string getString();
00428         static std::string id() {return _id;}
00429 private:
00430         static const std::string _id;
00431 };
00432 
00433 class SetPositionCommand: public Command
00434 {
00435 public:
00436         SetPositionCommand(Object *object, int xPos, int yPos);
00437         SetPositionCommand(List *command);
00438 
00439         void execute();
00440         std::string getString();
00441         static std::string id() {return _id;}
00442 private:
00443         //Object* _object;
00444         std::string _object;
00445         int _xPos;
00446         int _yPos;
00447 
00448         static const std::string _id;
00449 };
00450 
00451 class KillCommand: public Command
00452 {
00453 public:
00454         KillCommand(Person *person);
00455         KillCommand(List *command);
00456 
00457         void execute();
00458         std::string getString();
00459         static std::string id() {return _id;}
00460 private:
00461         std::string _person;
00462 
00463         static const std::string _id;
00464 };
00465 
00466 class LiveCommand: public Command
00467 {
00468 public:
00469         LiveCommand(Person *person);
00470         LiveCommand(List *command);
00471 
00472         void execute();
00473         std::string getString();
00474         static std::string id() {return _id;}
00475 private:
00476         std::string _person;
00477 
00478         static const std::string _id;
00479 };
00480 
00481 class CutScene;
00482 
00483 class ActivateCutSceneCommand: public Command
00484 {
00485 public:
00486         ActivateCutSceneCommand(CutScene *cutScene);
00487         ActivateCutSceneCommand(List *command);
00488 
00489         void execute();
00490         std::string getString();
00491         static std::string id() {return _id;}
00492 private:
00493         std::string _cutScene;
00494 
00495         static const std::string _id;
00496 };
00497 
00498 class Enemy;
00499 class ActivateEnemyCommand: public Command
00500 {
00501 public:
00502         ActivateEnemyCommand(Enemy *enemy);
00503         ActivateEnemyCommand(List *command);
00504 
00505         void execute();
00506         std::string getString();
00507         static std::string id() {return _id;}
00508 private:
00509         std::string _enemy;
00510 
00511         static const std::string _id;
00512 };
00513 
00514 class InvincibleCommand: public Command
00515 {
00516 public:
00517         InvincibleCommand(Person *person, bool inv);
00518         InvincibleCommand(List *command);
00519 
00520         void execute();
00521         std::string getString();
00522         static std::string id() {return _id;}
00523 private:
00524         std::string _person;
00525         bool _inv;
00526 
00527         static const std::string _id;
00528 };
00529 
00530 class FlushCommand: public Command
00531 {
00532 public:
00533         FlushCommand();
00534         FlushCommand(List *command);
00535 
00536         void execute();
00537         std::string getString();
00538         static std::string id() {return _id;}
00539 private:
00540         static const std::string _id;
00541 };
00542 
00543 #endif

Generated on Fri May 5 00:20:18 2006 for ProjectX by  doxygen 1.4.6-NO