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);
 }