#pragma once #include "CmPrerequisites.h" #include "CmIReflectable.h" namespace CamelotEngine { class CM_EXPORT GameObject : public IReflectable { public: virtual ~GameObject() { } /************************************************************************/ /* RTTI */ /************************************************************************/ public: friend class GameObjectRTTI; static RTTITypeBase* getRTTIStatic(); virtual RTTITypeBase* getRTTI() const; }; } #include "CmGameObjectHandle.h" namespace CamelotEngine { // Game object handles typedef GameObjectHandle HGameObject; typedef GameObjectHandle HSceneObject; typedef GameObjectHandle HComponent; typedef GameObjectHandle HCamera; typedef GameObjectHandle HRenderable; }