/// <summary> /// <para>Menu de la interfaz</para> /// </summary> private void OnGUITopMenu() // Menu de la interfaz { EditorGUILayout.BeginHorizontal(); bool isChanged = !GlobalDefineSetting.IsEquals(definesSaved, definesEditing); EditorGUI.BeginDisabledGroup(!isChanged); if (isChanged) { GUI.backgroundColor = Color.red; } if (GUILayout.Button(StringsUEME.APLICAR_MDEFINE, GUILayout.Width(TOP_MENU_BUTTON_WIDTH))) { definesEditing.GuardarSettings(); definesSaved.CargarSettings(); } if (isChanged) { GUI.backgroundColor = Color.green; } if (GUILayout.Button(StringsUEME.REVERTIR_MDEFINE, GUILayout.Width(TOP_MENU_BUTTON_WIDTH))) { definesEditing.CargarSettings(); } GUI.backgroundColor = Color.white; EditorGUI.EndDisabledGroup(); EditorGUILayout.EndHorizontal(); if (isChanged) { EditorGUILayout.HelpBox(StringsUEME.AVISO_APLICAR_MDEFINE, MessageType.Warning); } }
/// <summary> /// <para>Es igual a otra globaldefine</para> /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> public static bool IsEquals(GlobalDefineSetting a, GlobalDefineSetting b) // Es igual a otra globaldefine { if (a.dicDefines.Count != b.dicDefines.Count) { return(false); } foreach (GlobalDefine aDefine in a.dicDefines.Values) { if (aDefine == null) { continue; } GlobalDefine bDefine = null; b.dicDefines.TryGetValue(aDefine.Nombre, out bDefine); if (bDefine == null || GlobalDefine.IsEquals(aDefine, bDefine) == false) { return(false); } } return(true); }