00001 #pragma once 00002 #include "Gun.h" 00003 #include "Creature.h" 00004 #include "GVec4f.h" 00005 #include "GBone.h" 00006 #include "Crosshair.h" 00007 00009 class Creature :public GModel 00010 { 00011 protected: 00013 int MaxHitPoints; 00015 int CurrentHitPoints; 00017 Gun *EquippedGun; 00019 Crosshair *mCrosshair; 00020 00021 public: 00023 Creature(void); 00025 ~Creature(void); 00027 void SetMaxHits(int); 00029 int GetMaxHits(void); 00031 int GetCurrentHits(void); 00033 void SetHits(int _n); 00035 int SetGun(Gun *GunModel, GBone *AttachTo = NULL); 00037 Gun *GetGun(void); 00039 virtual int setPosition(GVec4f v); 00041 int DropGun(void); 00043 virtual int RebuildMatrix(void); 00045 virtual int setRotation(GVec4f v); 00047 virtual int FireGun(double time, double dtime, int FLAGS); 00049 virtual Crosshair *GetCrosshair(void); 00051 virtual int Damage(int); 00053 virtual int Update(double time, double dtime); 00054 };