CmGameObject.h 897 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmIReflectable.h"
  4. namespace CamelotFramework
  5. {
  6. class CM_EXPORT GameObject : public IReflectable
  7. {
  8. public:
  9. GameObject();
  10. virtual ~GameObject();
  11. UINT64 getInstanceID() const { return mInstanceId; }
  12. private:
  13. UINT64 mInstanceId;
  14. /************************************************************************/
  15. /* RTTI */
  16. /************************************************************************/
  17. public:
  18. friend class GameObjectRTTI;
  19. static RTTITypeBase* getRTTIStatic();
  20. virtual RTTITypeBase* getRTTI() const;
  21. };
  22. }
  23. #include "CmGameObjectHandle.h"
  24. namespace CamelotFramework
  25. {
  26. // Game object handles
  27. typedef GameObjectHandle<GameObject> HGameObject;
  28. typedef GameObjectHandle<SceneObject> HSceneObject;
  29. typedef GameObjectHandle<Component> HComponent;
  30. }