protected override void OnGUIInternal() { _prefsEnum.OnGUI(); _prefsString.OnGUI(); _prefsInt.OnGUI(); _prefsFloat.OnGUI(); _prefsFloat.OnGUISlider(); _prefsBool.OnGUI(); _prefsVector2.OnGUI(); _prefsVector2.OnGUISlider(); _prefsVector3.OnGUI(); _prefsVector3.OnGUISlider(); _prefsVector4.OnGUI(); _prefsVector4.OnGUISlider(); _prefsVector2Int.OnGUI(); _prefsVector2Int.OnGUISlider(); _prefsVector3Int.OnGUI(); _prefsVector3Int.OnGUISlider(); _prefsRect.OnGUI(); _prefsRect.OnGUISlider(); _prefsColor.OnGUI(); _prefsIPEndPoint.OnGUI(); // return true if value was changed if (_prefsColor.OnGUISlider()) { // use as native type Color color = _prefsColor; Debug.Log("Changed. " + color); } // PrefsList can call runtime element GUI _prefsList.OnGUI((element) => { element.name = GUIUtil.Field(element.name ?? "", "name"); element.intValue = GUIUtil.IntButton(element.intValue, "intValue"); }, "PrefsList runtime element GUI"); _prefsList.OnGUI("PrefsList automaticaly call element.DebugMenu() if it is IDebugMenu"); GUILayout.Label($"file path: {PrefsGUI.Wrapper.PrefsWrapperPathSelector.path}"); if (GUILayout.Button("Save")) { Prefs.Save(); } if (GUILayout.Button("DeleteAll")) { Prefs.DeleteAll(); } }
protected override void OnGUIInternal() { _prefsEnum.OnGUI(); _prefsString.OnGUI(); _prefsInt.OnGUI(); _prefsFloat.OnGUI(); _prefsFloat.OnGUISlider(); _prefsBool.OnGUI(); _prefsVector2.OnGUI(); _prefsVector2.OnGUISlider(); _prefsVector3.OnGUI(); _prefsVector3.OnGUISlider(); _prefsVector4.OnGUI(); _prefsVector4.OnGUISlider(); _prefsVector2Int.OnGUI(); _prefsVector2Int.OnGUISlider(); _prefsVector3Int.OnGUI(); _prefsVector3Int.OnGUISlider(); _prefsRect.OnGUI(); _prefsRect.OnGUISlider(); _prefsColor.OnGUI(); _prefsIPEndPoint.OnGUI(); // return true if value was changed if (_prefsColor.OnGUISlider()) { // use as native type Color color = _prefsColor; Debug.Log("Changed. " + color); } // default OnGUI() is NOT user friendly. but PrefsList can save/load parametors. _prefsList.OnGUI(); GUILayout.Label("PrefsListRuntimeGUI"); GUIUtil.Indent(() => { var list = _prefsListRuntimeGUI.Get(); list.ForEach(customClass => { customClass.name = GUILayout.TextField(customClass.name ?? ""); customClass.intValue = GUIUtil.IntButton(customClass.intValue); }); using (var h = new GUILayout.HorizontalScope()) { if (GUILayout.Button("Add")) { list.Add(new CustomClass() { name = "Elem" + list.Count }); } if (GUILayout.Button("Remove")) { list.RemoveAt(list.Count - 1); } _prefsListRuntimeGUI.Set(list); _prefsList.OnGUIDefaultButton(); } }); // if you use OnGUI. to set cumstomOnGUI is bettor. _prefsListCustomGUI.OnGUI(); if (GUILayout.Button("Save")) { Prefs.Save(); } if (GUILayout.Button("DeleteAll")) { Prefs.DeleteAll(); } }