private void OnEnable() { Cacher = ScriptableObjectExtension.ReadAsset <BGMListCacher>(CachePath); if (!Cacher) { ScriptableObjectExtension.WriteAsset(Cacher, CachePath); } so = new SerializedObject(Cacher); BGMListView = new ReorderableList(so, so.FindProperty("BGM")); Instance = this; BGMListView.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { var element = BGMListView.serializedProperty.GetArrayElementAtIndex(index); rect.y += 2; EditorGUI.PropertyField( new Rect(rect.x, rect.y, position.width / 2f, EditorGUIUtility.singleLineHeight), element.FindPropertyRelative("Audio"), GUIContent.none); EditorGUI.PropertyField( new Rect(rect.x + position.width / 2f, rect.y, position.width / 3f, EditorGUIUtility.singleLineHeight), element.FindPropertyRelative("Tag"), GUIContent.none); }; BGMListView.onChangedCallback = (list) => { }; }
static void Init() { PrefabCacherWindow window = (PrefabCacherWindow)EditorWindow.GetWindow(typeof(PrefabCacherWindow)); window.Show(); window.titleContent = new GUIContent("Prefeb Cacher"); gmp = ScriptableObjectExtension.ReadAsset <PrefabCacher>(AssetSave); }
void OnGUI() { if (Application.isPlaying) { GUILayout.Label("Please exit Play Mode then reopen this window.", GUILayout.Width(position.width)); return; } if (gmp != null) { scrollPos = EditorGUILayout.BeginScrollView(scrollPos, GUILayout.Width(position.width), GUILayout.Height(position.height - 2 * EditorGUIUtility.singleLineHeight)); GUILayout.Label("Cached Prefabs:" + gmp.GetAllPrefab().Count, GUILayout.Width(EditorGUIUtility.labelWidth)); foreach (PrefabCacher.PrefabCache pc in gmp.GetAllPrefab()) { EditorGUILayout.BeginHorizontal(); GUILayout.Label(pc.gameObject.name, GUILayout.Width(EditorGUIUtility.labelWidth)); GUILayout.Label(pc.path, GUILayout.Width(position.width * 0.97f - EditorGUIUtility.labelWidth)); EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndScrollView(); } if (GUILayout.Button("UPDATE CACHE")) { gmp = new PrefabCacher(); ScriptableObjectExtension.DeleteAsset(AssetSave); gmp.UpdateCache(LoadAllPrefab()); ScriptableObjectExtension.WriteAsset(gmp, AssetSave); } }
public static void CreateAsset() { ScriptableObjectExtension.CreateAsset <GimmickData>(); }
public static void Recompile() { string scriptPath = ScriptableObjectExtension.GetScriptPath <Recompiler>(); AssetDatabase.ImportAsset(scriptPath, ImportAssetOptions.ForceUpdate); }
public override void OnInspectorGUI() { serializedObject.Update(); GUILayout.Space(10); #region Inspector GUILayout.BeginVertical("Easy Build System - Group Behaviour", "window", GUILayout.Height(10)); GUILayout.BeginVertical("box"); GUI.color = MainEditor.GetEditorColor; GUILayout.BeginHorizontal(); GUILayout.Label("Group Behaviour Settings", EditorStyles.largeLabel); #region Group Behaviour Settings GUILayout.FlexibleSpace(); if (GUILayout.Button(DefaultInspector ? "Advanced Inspector" : "Default Inspector", GUILayout.Width(130))) { DefaultInspector = !DefaultInspector; } if (GUILayout.Button(AllIsOpen ? "Fold In" : "Fold Out", GUILayout.Width(80))) { AddonsFoldout = !AddonsFoldout; AllIsOpen = !AllIsOpen; } if (GUILayout.Button(Help ? "Hide Help" : "Show Help", GUILayout.Width(100))) { Help = !Help; } GUI.color = Color.white; GUILayout.EndHorizontal(); if (Help) { EditorGUILayout.HelpBox("This component allows to save and load of Group Behaviour which contains of Parts Behaviour during the edit/runtime.\n" + "The data below can be shared and loaded if the Build Manager use the same Id's in the Parts Collection.", MessageType.Info); GUI.color = MainEditor.GetEditorColor; if (GUILayout.Button("Open Documentation Link")) { Application.OpenURL(Constants.DOCS_LINK); } GUI.color = Color.white; } if (DefaultInspector) { DrawDefaultInspector(); GUILayout.EndVertical(); GUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); GUILayout.Space(10); return; } GUI.enabled = false; EditorGUILayout.ObjectField("Script", target, typeof(AreaBehaviour), true); GUI.enabled = true; GUI.color = Color.white; if (Application.isPlaying) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUI.color = MainEditor.GetEditorColor; if (GUILayout.Button("Save As Blueprint...")) { BlueprintData Data = ScriptableObjectExtension.CreateAsset <BlueprintData>("New Empty Blueprint"); Data.name = Target.name; Data.Model = Target.GetModel(); Data.Data = Target.GetModel().EncodeToStr(); Debug.Log("<b><color=cyan>[Easy Build System]</color></b> : The blueprint model has been saved."); } if (GUILayout.Button("Destroy Group")) { Destroy(Target.gameObject); Debug.Log("<b><color=cyan>[Easy Build System]</color></b> : The group has been destroyed."); } GUI.enabled = true; GUI.color = Color.white; GUILayout.EndVertical(); GUILayout.EndHorizontal(); } #endregion Group Behaviour Settings GUI.color = MainEditor.GetEditorColor; GUILayout.Label("Group Add-On(s) Settings", EditorStyles.largeLabel); #region Group Add-Ons Settings GUI.color = Color.white; GUILayout.BeginHorizontal(); GUILayout.Space(13); AddonsFoldout = EditorGUILayout.Foldout(AddonsFoldout, "Add-Ons Section Settings"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Space(13); GUILayout.BeginVertical(); if (AddonsFoldout) { MainEditor.DrawAddons(Target, AddOnTarget.GroupBehaviour); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); #endregion Group Add-Ons Settings GUILayout.EndVertical(); GUILayout.EndVertical(); #endregion Inspector serializedObject.ApplyModifiedProperties(); GUILayout.Space(10); }
public static void CreateAsset() { ScriptableObjectExtension.CreateAsset <PlaceDivisionData>(); }
public static void EditorCreateBlueprintData() { ScriptableObjectExtension.CreateAsset <BlueprintData>("New Empty Blueprint..."); }
public static void EditorCreatePartsCollection() { ScriptableObjectExtension.CreateAsset <PartsCollection>("New Parts Collection..."); }
public static void CreateAsset() { ScriptableObjectExtension.CreateAsset <NPCTubeData>(); }
public static void CreateAsset() { ScriptableObjectExtension.CreateAsset <AbnormalData>(); }
private void OnDisable() { ScriptableObjectExtension.SaveAsset(); }