void OnGUI() { if (!_isInitialized) { _gazeFocusSettings = RetrieveSettings(); CacheAsLastSavedSettings(_gazeFocusSettings); _isInitialized = true; } EditorGUILayout.Space(); var headerStyle = new GUIStyle(GUI.skin.label); headerStyle.fontStyle = FontStyle.Bold; headerStyle.font.material.color = Color.white; EditorGUILayout.LabelField( new GUIContent("Gaze Focus Settings"), headerStyle); EditorGUILayout.Space(); _gazeFocusSettings.MaximumDistance = EditorGUILayout.FloatField( new GUIContent("Maximum Distance", "The maximum depth of the gaze focus detection"), _gazeFocusSettings.MaximumDistance); _gazeFocusSettings.LayerMask = DrawLayerMaskField( new GUIContent("Gaze Focus Layers", "Layers that should be used for the gaze focus detection."), _gazeFocusSettings.LayerMask); EditorGUILayout.Space(); GUILayout.BeginHorizontal(); GUI.enabled = !IsDefault(); if (GUILayout.Button("Default Values", GUILayout.MaxWidth(105))) { UseDefaultValues(); } GUI.enabled = HasUnsavedChanges(); if (GUILayout.Button("Revert", GUILayout.MaxWidth(100))) { RestoreToLastSavedSettings(); } if (GUILayout.Button("Apply", GUILayout.MaxWidth(100))) { SaveSettings(); } GUI.enabled = true; GUILayout.EndHorizontal(); }
private static void ReloadSettings() { var gazeFocusSettings = GazeFocusSettings.Get(); LayerMask = gazeFocusSettings.LayerMask; MaximumDistance = gazeFocusSettings.MaximumDistance; if (Scorer != null) { Scorer.Reconfigure(MaximumDistance, LayerMask.value); } if (_multiScorer != null) { _multiScorer.Reconfigure(MaximumDistance, LayerMask.value); } }
void Awake() { _lastSavedSettings = GazeFocusSettings.CreateDefault(); _defaultSettings = GazeFocusSettings.CreateDefault(); }
private void CacheAsLastSavedSettings(GazeFocusSettings gazeFocusSettings) { _lastSavedSettings.LayerMask = gazeFocusSettings.LayerMask; _lastSavedSettings.MaximumDistance = gazeFocusSettings.MaximumDistance; }
private static GazeFocusSettings RetrieveSettings() { return(GazeFocusSettings.Get()); }
private void SaveSettings() { GazeFocusSettings.Set(_gazeFocusSettings); CacheAsLastSavedSettings(_gazeFocusSettings); NotifySettingsChanged(); }