BsScriptGameObject.h 896 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SCR_BE_EXPORT ScriptGameObjectBase : public ScriptObjectBase
  7. {
  8. public:
  9. ScriptGameObjectBase(MonoObject* instance)
  10. :ScriptObjectBase(instance)
  11. { }
  12. virtual ~ScriptGameObjectBase() { }
  13. virtual HGameObject getNativeHandle() const = 0;
  14. virtual void setNativeHandle(const HGameObject& gameObject) = 0;
  15. };
  16. class BS_SCR_BE_EXPORT ScriptGameObject : public ScriptObject<ScriptGameObject, ScriptGameObjectBase>
  17. {
  18. public:
  19. static String getAssemblyName() { return BansheeEngineAssemblyName; }
  20. static String getNamespace() { return "BansheeEngine"; }
  21. static String getTypeName() { return "GameObject"; }
  22. static void initRuntimeData() { }
  23. private:
  24. ScriptGameObject(MonoObject* instance)
  25. :ScriptObject(instance)
  26. { }
  27. };
  28. }