void InitializePrefabData() { Debug.Log("New prefab constraint data asset"); // Create asset, save empty one and refresh database to show it to the user prefabConstraint = ScriptableObject.CreateInstance <LevelPrefabList>(); AssetDatabase.CreateAsset(prefabConstraint, "Assets/prefabs.asset"); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
private void OnGUI() { prefabConstraint = (LevelPrefabList)EditorGUILayout.ObjectField(prefabConstraint, typeof(LevelPrefabList), false); if (GUILayout.Button("Recreate")) { CreateObjectsFromData(); } paint = EditorGUILayout.Toggle(new GUIContent("Paint"), paint); GUILayout.Label(new GUIContent("Prefab #" + prefabIndex, AssetPreview.GetAssetPreview(prefabConstraint.prefabDataList[prefabIndex].prefabList[0]))); GUILayout.Label("Rotation " + prefabConstraint.rotationList[rotationIndex]); }
void OnEnable() { SceneView.duringSceneGui += this.OnSceneGUI; EditorSceneManager.activeSceneChangedInEditMode += RefreshObjectFromScene; levelData = AssetDatabase.LoadAssetAtPath <LevelData>("Assets/level.asset"); if (levelData == null) { InitializeData(); } prefabConstraint = AssetDatabase.LoadAssetAtPath <LevelPrefabList>("Assets/prefabs.asset"); if (prefabConstraint == null) { InitializePrefabData(); } CreateObjectsFromData(); }