static void EnumLogLevel(BuildTargetGroup grp) { EditorWindowUtils.Label(string.Format("{0} log level", grp), true); var defines = CompileDefineUtil.GetCompileDefinesWithPrefix(prefix, grp); LogLevel finalValue = LogLevel.Warning; foreach (var def in defines) { var enumValue = def.Substring(prefix.Length); finalValue = (LogLevel)System.Enum.Parse(typeof(LogLevel), enumValue, true); } var logLevel = (LogLevel)EditorWindowUtils.EnumPopup("Log Level", finalValue, GUILayout.Width(300)); if (logLevel != finalValue) { foreach (var def in defines) { CompileDefineUtil.RemoveCompileDefine(def, new[] { grp }); } CompileDefineUtil.AddCompileDefine(grp, string.Format("{0}{1}", prefix, logLevel).ToUpper(CultureInfo.InvariantCulture)); } }