/// <summary> /// Get an instance object that was created by the Suggested Value (assuming it is a Prefab). /// </summary> /// <returns></returns> internal GameObject GetFirstInstanceInScene() { GameObject go = null; UnityEngine.Object[] gos = GameObject.FindObjectsOfType(SuggestedValue.GetType()); foreach (UnityEngine.Object candidate in gos) { if (UnityEngine.Object.ReferenceEquals(PrefabUtility.GetCorrespondingObjectFromOriginalSource(candidate), SuggestedValue)) { go = ConvertToGameObject(candidate); break; } } return(go); }
internal virtual void InstantiateScriptableObject() { Instance = ScriptableObject.CreateInstance(SuggestedValue.GetClass()); AssetDatabase.CreateAsset(Instance, AssetPath); AssetDatabase.SaveAssets(); }