//--------------------------------------------------------------------- // 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); }
//----------------------------------------------------- // OnDisable //----------------------------------------------------- private void OnDisable() { _editable = null; }
//----------------------------------------------------- // OnEnable //----------------------------------------------------- private void OnEnable() { _golem = target as Golem; _editable = GolemEditorData.Load(_golem); }