Exemplo n.º 1
0
        //---------------------------------------------------------------------
        // Load (static)
        //---------------------------------------------------------------------
        public static GolemEditorData Load(Golem golem)
        {
            // // Only load prefab instances
            // bool isPrefab = PrefabUtility.GetPrefabType(entity) == PrefabType.PrefabInstance;
            // if (!isPrefab)
            // {
            //     return null;
            // }

            GolemEditorAsset editorAsset = golem.EditorAsset as GolemEditorAsset;

            if (editorAsset == null)
            {
                // editorAsset = Helper.FindAssetInPrefab<EntityEditorAsset>(entity);
                editorAsset = ScriptableObject.CreateInstance <GolemEditorAsset>();
                Debug.Assert(editorAsset != null);
            }
            editorAsset.hideFlags = HideFlags.DontSaveInBuild;

            var editorData = editorAsset.EditorData;

            if (editorData == null)
            {
                editorData = new GolemEditorData();
            }
            editorData.Golem       = golem;
            editorData.EditorAsset = editorAsset;
            golem.EditorAsset      = editorAsset;

            golem.Load();
            editorData.Load();

            return(editorData);
        }
Exemplo n.º 2
0
 //-----------------------------------------------------
 // OnDisable
 //-----------------------------------------------------
 private void OnDisable()
 {
     _editable = null;
 }
Exemplo n.º 3
0
 //-----------------------------------------------------
 // OnEnable
 //-----------------------------------------------------
 private void OnEnable()
 {
     _golem    = target as Golem;
     _editable = GolemEditorData.Load(_golem);
 }