00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _OPENCITY_MOVEMENT_H_
00020 #define _OPENCITY_MOVEMENT_H_ 1
00021
00022 #include "main.h"
00023 #include "destination.h"
00024
00025 #include <vector>
00026
00027 using std::vector;
00028
00029
00030
00036 class Movement {
00037 public:
00038 Movement();
00039 virtual ~Movement();
00040
00041
00042
00046 virtual const bool
00047 Move() = 0;
00048
00049
00050
00055 virtual void
00056 Start() = 0;
00057
00058 void
00059 SetPath( vector<Destination> newPath );
00060
00061 const OPENCITY_GRAPHIC_CODE &
00062 GetGraphicCode() const;
00063
00064
00065
00072 void
00073 SetAngle( const Destination & rcD );
00074
00075
00076
00082 void
00083 SetSlope(
00084 const Destination & rcA,
00085 const Destination & rcB );
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098 public:
00099 OC_FLOAT _fCurrentW;
00100 OC_FLOAT _fCurrentL;
00101 OC_FLOAT _fCurrentH;
00102 OC_FLOAT _fDeltaW;
00103 OC_FLOAT _fDeltaL;
00104 OC_FLOAT _fDeltaH;
00105
00106 GLfloat _fRY;
00107 GLfloat _fRX, _fRZ;
00108 GLfloat _fTX, _fTY, _fTZ;
00109
00110 protected:
00111 OPENCITY_DIRECTION _eDir;
00112 OPENCITY_GRAPHIC_CODE _eGC;
00113
00114 uint uiCurrentTime;
00115 int iCurrentSpeed;
00116 uint uiNumberOfFrame;
00117 uint uiFramePerUnit;
00118 vector<Destination> vdest;
00119 uint uiCurrentIndex;
00120 Destination destCurrent;
00121 };
00122
00123 #endif
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155