Ejemplo n.º 1
0
        void ShowSettingGUI(Setting setting, string path)
        {
            var preEdit = setting.edit;

            GUI.contentColor = Color.yellow;
            if (setting.edit = GUILayout.Toggle(setting.edit, path))
            {
                GUILayout.Space(16);
                GUI.contentColor = Color.white;

                GUILayout.BeginHorizontal();
                GUILayout.Space(16f);

                GUILayout.BeginVertical();
                setting.OnGUIFunc();
                GUILayout.EndVertical();

                GUILayout.EndHorizontal();

                GUILayout.BeginHorizontal();
                if (GUILayout.Button("Save and Close"))
                {
                    setting.SaveAndClose();
                }
                if (NetworkServer.active && setting.canSync)
                {
                    if (GUILayout.Button("Sync Setting"))
                    {
                        setting.SyncSetting();
                    }
                }
                if (GUILayout.Button("Cancel"))
                {
                    setting.CancelAndClose();
                }
                GUILayout.EndHorizontal();

                GUILayout.Space(16);
            }
            if (preEdit && setting.edit != preEdit)
            {
                setting.CancelAndClose();
            }
        }