The FlareClass

Superclasses

VuEntity

FalconEntity

Other Subclasses: CampBaseClass , SimBaseClass,TeamClass

SimBaseClass

Other Subclasses:   SimStaticClass

SimMoverClass

Other Subclasses :, SimVehicleClass, EjectedPilotClass

SimWeaponClass

Subclasses: MissileClass,GunClass

SimBombClass

Subclasses: DebrisClass,FlareClass,ChaffClass




#ifdef USE_SH_POOLS
   public:
      // Overload new/delete to use a SmartHeap fixed size pool
      void *operator new(size_t size) { ShiAssert( size == sizeof(FlareClass) ); return MemAllocFS(pool);       };
      void operator delete(void *mem) { if (mem) MemFreeFS(mem); };
      static void InitializeStorage()   { pool = MemPoolInitFS( sizeof(FlareClass), 200, 0 ); };
      static void ReleaseStorage()      { MemPoolFree( pool ); };
      static MEM_POOL   pool;
#endif

   private:
      void InitData (void);
      DrawableTrail *trail;
      Drawable2D *trailGlow;
      Drawable2D *trailSphere;
      virtual void UpdateTrail (void);
      virtual void RemoveTrail (void);
      virtual void InitTrail (void);
      virtual void ExtraGraphics (void);
      virtual void DoExplosion (void);
      virtual void SpecialGraphics (void) {};

   public:
      FlareClass (VU_BYTE** stream);
      FlareClass (FILE* filePtr);
      FlareClass (int type);
      virtual ~FlareClass (void);
      virtual int SaveSize();
      virtual int Save(VU_BYTE **stream);       // returns bytes written
      virtual int Save(FILE *file);             // returns bytes written
      virtual int Wake (void);
      virtual int Sleep (void);
      virtual void Init (SimInitDataClass* initData);
      virtual void Init (void);
      virtual int Exec (void);
      virtual void Start(vector* pos, vector* rate, float cd);