From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- Runtime/BaseClasses/EditorExtension.h | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Runtime/BaseClasses/EditorExtension.h (limited to 'Runtime/BaseClasses/EditorExtension.h') diff --git a/Runtime/BaseClasses/EditorExtension.h b/Runtime/BaseClasses/EditorExtension.h new file mode 100644 index 0000000..5e2830a --- /dev/null +++ b/Runtime/BaseClasses/EditorExtension.h @@ -0,0 +1,58 @@ +#ifndef EDITOREXTENSION_H +#define EDITOREXTENSION_H + +#include "BaseObject.h" +class TypeTree; +class Prefab; +class EditorExtensionImpl; + +#if UNITY_EDITOR + +class EXPORT_COREMODULE EditorExtension : public Object +{ + public: + + PPtr m_PrefabParentObject; + PPtr m_Prefab; + + PPtr m_DeprecatedExtensionPtr; + + REGISTER_DERIVED_ABSTRACT_CLASS (EditorExtension, Object) + DECLARE_OBJECT_SERIALIZE (EditorExtension) + + EditorExtension (MemLabelId label, ObjectCreationMode mode); + // ~EditorExtension (); declared-by-macro + + friend PPtr GetDeprecatedExtensionPtrIfExists (const Object& o); + + virtual bool IsPrefabParent () const; + + PPtr GetPrefab () { return m_Prefab; } + PPtr GetPrefabParentObject () { return m_PrefabParentObject; } + + virtual void AwakeFromLoad (AwakeFromLoadMode mode); + + void PatchPrefabBackwardsCompatibility (); + + + //std::string ExtractDeprecatedNameString (); +}; + +#else + +class EXPORT_COREMODULE EditorExtension : public Object +{ + public: + + EditorExtension (MemLabelId label, ObjectCreationMode mode) : Super(label, mode) {} + // virtual ~EditorExtension (); declared-by-macro + + REGISTER_DERIVED_CLASS (EditorExtension, Object) + + virtual bool IsPrefabParent () const { return false; } +}; + + +#endif + +#endif -- cgit v1.1-26-g67d0