CmGameObject.h 883 B

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