home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 March / ENTER.ISO / files / fwp-0.0.6-win32-installer.exe / Vehicle.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-12-23  |  1.6 KB  |  66 lines

  1. #ifndef __Vehicle_h__
  2. #define __Vehicle_h__
  3.  
  4. #include "GameObject.h"
  5. #include "Client.h"
  6. #include "Input.h"
  7. #include "collision.h"
  8. #include "Weapon.h"
  9. #include "PhysicsInfo.h"
  10.  
  11. class Vehicle: public GameObject{
  12. public:
  13.     Client* client;
  14.     
  15.     vec3_t vel_inp;
  16.     AABB_t moveAABB;
  17.     AABB_t hitAABB;
  18.     float boundingSphereRadius;
  19.     PhysicsInfo physicsInfo;
  20.  
  21.     int armor;
  22.     int maxArmor;
  23.     float energy;
  24.     int maxEnergy;
  25.     float energyRecovery;
  26.  
  27.     GameObject* target;
  28.     Weapon* weapons[4];
  29.  
  30.     unsigned long lastProcessMillis;
  31.     unsigned long lastMoveMillis;
  32.     unsigned long lastRecoveryMillis;
  33.     unsigned long lastTakeDamageMillis;
  34.  
  35.     Vehicle(Client* client);
  36.     virtual ~Vehicle();
  37.  
  38.     virtual void processInputArray(inputArray_t inputArray);
  39.     virtual void turnLeft(float deltaT);
  40.     virtual void turnRight(float deltaT);
  41.     virtual void turnUp(float deltaT);
  42.     virtual void turnDown(float deltaT);
  43.  
  44.     virtual void moveForward(float deltaT);
  45.     virtual void moveBackward(float deltaT);
  46.     virtual void moveLeft(float deltaT);
  47.     virtual void moveRight(float deltaT);
  48.     virtual void moveUp(float deltaT);
  49.     virtual void moveDown(float deltaT);
  50.  
  51.     virtual void move();
  52.     virtual bool collisionDetection(vec3_t displacement);
  53.     virtual void calcRecovery();
  54.     virtual void takeDamage(int amount);
  55.     virtual void explode();
  56.  
  57.     virtual void addDynamicLightParticleCluster(DynamicLightParticleCluster* dlpc);
  58.     virtual void removeDynamicLightParticleCluster(DynamicLightParticleCluster* dlpc);
  59.     virtual void render();
  60.  
  61.     static Vehicle* createVehicleForClient(Client* client);
  62.     
  63. };
  64.  
  65. #endif    /* __Vehicle_h__ */
  66.