void SyncToggle(PrefsGUISyncUNET sync, PrefsParam prefs) { if (sync != null) { var key = prefs.key; var isSync = !sync.ignoreKeys.Contains(key); if (isSync != GUILayout.Toggle(isSync, GUIContent.none, PrefsGUIEditorBase.ToggleWidth)) { Undo.RecordObject(sync, "Change PrefsGUI sync flag"); EditorUtility.SetDirty(sync); if (isSync) { sync.ignoreKeys.Add(key); } else { sync.ignoreKeys.Remove(key); } } } }
public Object GetPrefsParent(PrefsParam prefs) { return(holders.FirstOrDefault(h => h.prefsSet.Contains(prefs))?.parent); }
public void GUIPrefsLeft(PrefsParam prefs) { SyncToggle(sync, prefs); }