chaffigc.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. ** Copyright (C) 1996, 1997 Microsoft Corporation. All Rights Reserved.
  3. **
  4. ** File: chaffIGC.h
  5. **
  6. ** Author:
  7. **
  8. ** Description:
  9. ** Header for the CchaffIGC class. This file was initially created by
  10. ** the ATL wizard.
  11. **
  12. ** History:
  13. */
  14. // chaffIGC.h : Declaration of the CchaffIGC
  15. #ifndef __CHAFFIGC_H_
  16. #define __CHAFFIGC_H_
  17. #include "modelIGC.h"
  18. class CchaffIGC : public TmodelIGC<IchaffIGC>
  19. {
  20. public:
  21. CchaffIGC(void);
  22. ~CchaffIGC(void);
  23. public:
  24. // IbaseIGC
  25. virtual HRESULT Initialize(ImissionIGC* pMission, Time now, const void* data, int dataSize);
  26. virtual void Terminate(void);
  27. virtual void Update(Time now);
  28. virtual ObjectType GetObjectType(void) const
  29. {
  30. return OT_chaff;
  31. }
  32. // ImodelIGC
  33. virtual void SetCluster(IclusterIGC* cluster)
  34. {
  35. AddRef();
  36. {
  37. IclusterIGC* c = GetCluster();
  38. if (c)
  39. c->DeleteModel(this);
  40. }
  41. TmodelIGC<IchaffIGC>::SetCluster(cluster);
  42. if (cluster)
  43. cluster->AddModel(this);
  44. Release();
  45. }
  46. virtual void SetVisibleF(bool vf) const
  47. {
  48. }
  49. virtual bool GetVisibleF(void) const
  50. {
  51. return true;
  52. }
  53. virtual void SetRender(unsigned char render)
  54. {
  55. }
  56. // IchaffIGC
  57. private:
  58. DataChaffTypeIGC* m_pChaffTypeData;
  59. Time m_timeExpire;
  60. };
  61. #endif //__CHAFFIGC_H_