private void ShowSettings() { EditorGUILayout.BeginVertical(CustomStyles.thinBox); showSettings = CustomGUILayout.ToggleHeader(showSettings, "Editor settings"); if (showSettings) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Filter by:", GUILayout.Width(65f)); varFilter = (VarFilter)EditorGUILayout.EnumPopup(varFilter, GUILayout.MaxWidth(100f)); if (varFilter == VarFilter.Type) { typeFilter = (VariableType)EditorGUILayout.EnumPopup(typeFilter); } else { _target.filter = EditorGUILayout.TextField(_target.filter); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); }
/** * Shows the GUI. */ public void ShowGUI() { string sceneName = MultiSceneChecker.EditActiveScene(); if (sceneName != "") { EditorGUILayout.LabelField("Editing scene: '" + sceneName + "'", CustomStyles.subHeader); EditorGUILayout.Space(); } EditorGUILayout.Space(); GUILayout.BeginHorizontal(); string label = (vars.Count > 0) ? ("Global (" + vars.Count + ")") : "Global"; if (GUILayout.Toggle(showGlobalTab, label, "toolbarbutton")) { SetTab(0); } label = (KickStarter.localVariables != null && KickStarter.localVariables.localVars.Count > 0) ? ("Local (" + KickStarter.localVariables.localVars.Count + ")") : "Local"; if (GUILayout.Toggle(showLocalTab, label, "toolbarbutton")) { SetTab(1); } GUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.BeginVertical(CustomStyles.thinBox); showSettings = CustomGUILayout.ToggleHeader(showSettings, "Editor settings"); if (showSettings) { updateRuntime = CustomGUILayout.Toggle("Show realtime values?", updateRuntime, "AC.KickStarter.variablesManager.updateRuntime"); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Filter by:", GUILayout.Width(65f)); varFilter = (VarFilter)EditorGUILayout.EnumPopup(varFilter, GUILayout.MaxWidth(100f)); filter = EditorGUILayout.TextField(filter); EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndVertical(); EditorGUILayout.Space(); if (showGlobalTab) { varPresets = ShowPresets(varPresets, vars, VariableLocation.Global); if (Application.isPlaying && updateRuntime && KickStarter.runtimeVariables != null) { ShowVarList(KickStarter.runtimeVariables.globalVars, VariableLocation.Global, false); } else { ShowVarList(vars, VariableLocation.Global, true); foreach (VarPreset varPreset in varPresets) { varPreset.UpdateCollection(vars); } } } else if (showLocalTab) { if (KickStarter.localVariables != null) { KickStarter.localVariables.varPresets = ShowPresets(KickStarter.localVariables.varPresets, KickStarter.localVariables.localVars, VariableLocation.Local); if (Application.isPlaying && updateRuntime) { ShowVarList(KickStarter.localVariables.localVars, VariableLocation.Local, false); } else { ShowVarList(KickStarter.localVariables.localVars, VariableLocation.Local, true); } } else { EditorGUILayout.LabelField("Local variables", CustomStyles.subHeader); EditorGUILayout.HelpBox("A GameEngine prefab must be present in the scene before Local variables can be defined", MessageType.Info); } } EditorGUILayout.Space(); if (selectedVar != null && (!Application.isPlaying || !updateRuntime)) { int i = selectedVar.id; if (vars.Contains(selectedVar)) { ShowVarGUI(VariableLocation.Global, varPresets, "AC.GlobalVariables.GetVariable (" + i + ")"); } else if (KickStarter.localVariables != null && KickStarter.localVariables.localVars.Contains(selectedVar)) { ShowVarGUI(VariableLocation.Local, KickStarter.localVariables.varPresets, "AC.LocalVariables.GetVariable (" + i + ")"); } } if (GUI.changed) { EditorUtility.SetDirty(this); if (KickStarter.localVariables != null) { UnityVersionHandler.CustomSetDirty(KickStarter.localVariables); } } }