/TGame/TCommon/Gene/GeneCreateDataB.h

http://awoe.googlecode.com/ · C Header · 82 lines · 36 code · 15 blank · 31 comment · 0 complexity · e86297222fbe54dc495976317a1135a4 MD5 · raw file

  1. #ifndef __GENE_CREATE_DATA__BASE__IMPLEMENTATION
  2. #define __GENE_CREATE_DATA__BASE__IMPLEMENTATION
  3. #include "GeneCreateDataIf.h"
  4. //
  5. // dynamic data interface for creating an gene
  6. // different gene will require different environment data when create it.
  7. // implement this interface to ensure anything is possible for gene creation.
  8. //
  9. class TCOM_API GeneCreateDataB : public IGeneCreateData
  10. {
  11. public:
  12. GeneCreateDataB(int nID, int nGrpID);
  13. GeneCreateDataB(IData* pData);
  14. virtual ~GeneCreateDataB();
  15. //
  16. // ID
  17. //
  18. virtual void setID(int nID);
  19. virtual int getID()const;
  20. //
  21. // Group ID
  22. //
  23. virtual void setGroupID(int nGrpID);
  24. virtual int getGroupID()const;
  25. //
  26. // Class identifier
  27. //
  28. virtual int getClass()const;
  29. //
  30. // Data X, Y, Z
  31. // Which is used most frequently
  32. //
  33. virtual void setDataX(int x);
  34. virtual void setDataY(int y);
  35. virtual void setDataZ(int z);
  36. virtual int getDataX()const;
  37. virtual int getDataY()const;
  38. virtual int getDataZ()const;
  39. //
  40. // Data Extension, more data
  41. //
  42. virtual int getData(const short& nIdx, int nDefault)const;
  43. virtual void setData(const short& nIdx, int nValue);
  44. //
  45. // get the static data
  46. //
  47. virtual IData* getStaticData();
  48. //
  49. // Time to live for an gene on his host
  50. // This will override the duration that configured in gene static data
  51. //
  52. virtual int getDuration()const;
  53. //
  54. // entity
  55. //
  56. virtual int getSrcEntityID()const;
  57. virtual IEntity* getSrcEntity()const;
  58. virtual IScene* getSrcScene()const;
  59. protected:
  60. int m_nGeneID;
  61. int m_nGeneGrpID;
  62. IData* m_wpSData;
  63. int m_nArgX;
  64. int m_nArgY;
  65. int m_nArgZ;
  66. };
  67. #endif