BsScriptPrefab.h 855 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptResource.h"
  4. #include "BsPrefab.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptPrefab : public ScriptObject<ScriptPrefab, ScriptResourceBase>
  8. {
  9. public:
  10. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Prefab")
  11. HResource getNativeHandle() const override { return mPrefab; }
  12. void setNativeHandle(const HResource& resource);
  13. HPrefab getPrefabHandle() const { return mPrefab; }
  14. private:
  15. friend class ScriptResourceManager;
  16. ScriptPrefab(MonoObject* instance, const HPrefab& prefab);
  17. static void internal_CreateInstance(MonoObject* instance, ScriptSceneObject* so);
  18. static MonoObject* internal_GetRoot(ScriptPrefab* instance);
  19. static MonoObject* internal_Instantiate(ScriptPrefab* instance);
  20. void _onManagedInstanceDeleted();
  21. HPrefab mPrefab;
  22. };
  23. }