public static bool IsStringParamSet(string StringParam) { IgorJobConfig Inst = GetConfig(); if (Inst != null) { return(IgorRuntimeUtils.IsStringParamSet(Inst.Persistent.JobCommandLineParams, StringParam)); } return(false); }
public virtual void DrawStringConfigParamDifferentOverride(ref string CurrentParams, string StringLabel, string StringOverrideParam, string ConfigKey, string OverrideCurrentValue = null) { string CurrentStringValue = ""; string CurrentConfigValue = IgorConfig.GetModuleString(this, ConfigKey); bool bDisplayConfigValue = false; if (OverrideCurrentValue == null) { if (IgorRuntimeUtils.IsStringParamSet(CurrentParams, StringOverrideParam)) { CurrentStringValue = IgorRuntimeUtils.GetStringParam(CurrentParams, StringOverrideParam); } else { bDisplayConfigValue = true; } } else { if (CurrentConfigValue == OverrideCurrentValue) { bDisplayConfigValue = true; } else { CurrentStringValue = OverrideCurrentValue; } } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(new GUIContent(StringLabel, StringLabel), GUILayout.MaxWidth(100.0f)); EditorGUILayout.BeginHorizontal(); string DisplayString = bDisplayConfigValue ? CurrentConfigValue : CurrentStringValue; GUIStyle TextFieldStyle = new GUIStyle(GUI.skin.textField); if (!bDisplayConfigValue) { TextFieldStyle.normal.background = GetTextFieldBGGreenNormal(); TextFieldStyle.focused.background = GetTextFieldBGGreenActive(); } string NewStringValue = GUILayout.TextField(DisplayString, TextFieldStyle, GUILayout.ExpandWidth(true), GUILayout.MinWidth(100.0f)); if (!NewStringValue.Contains("\"") && !(NewStringValue.Length == 1 && NewStringValue[0] == ' ')) { CurrentStringValue = NewStringValue; } if (bDisplayConfigValue && CurrentStringValue == CurrentConfigValue) { CurrentStringValue = ""; } GUIStyle ButtonStyle = new GUIStyle(GUI.skin.button); ButtonStyle.border = new RectOffset(); ButtonStyle.margin = new RectOffset(); if (GUILayout.Button(new GUIContent("<-", "Use the config value"), ButtonStyle, GUILayout.Width(25.0f))) { CurrentStringValue = ""; } if (GUILayout.Button(new GUIContent("->", "Update the config value to the current value (This will change all other jobs that haven't overridden this value!)"), ButtonStyle, GUILayout.Width(25.0f))) { if (!bDisplayConfigValue) { CurrentConfigValue = CurrentStringValue; } IgorConfig.SetModuleString(this, ConfigKey, CurrentConfigValue); } string ConfigLabel = CurrentConfigValue + " - From Global Config Key: " + GetModuleName() + "." + ConfigKey; // string ConfigLabel = "Global Config: \"" + CurrentConfigValue + "\" from Key: \"" + GetModuleName() + "." + ConfigKey + "\""; GUIStyle LabelFieldStyle = new GUIStyle(GUI.skin.label); LabelFieldStyle.alignment = TextAnchor.MiddleLeft; LabelFieldStyle.border = new RectOffset(); LabelFieldStyle.contentOffset = new Vector2(); LabelFieldStyle.margin = new RectOffset(); if (bDisplayConfigValue) { LabelFieldStyle.normal.background = GetLabelFieldBGGreen(); } GUILayout.Label(new GUIContent(ConfigLabel, ConfigLabel), LabelFieldStyle, GUILayout.MinWidth(20.0f)); if (GUILayout.Button(new GUIContent("X", "Clear the config value (This will change all other jobs that haven't overridden this value!)"), ButtonStyle, GUILayout.Width(25.0f))) { CurrentConfigValue = ""; IgorConfig.SetModuleString(this, ConfigKey, CurrentConfigValue); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndHorizontal(); CurrentParams = IgorRuntimeUtils.SetStringParam(CurrentParams, StringOverrideParam, CurrentStringValue); }
public virtual void DrawVersionInspector(ref string CurrentParams) { string MinVersionParam = ""; string MaxVersionParam = ""; if (IgorRuntimeUtils.IsStringParamSet(CurrentParams, MinUnityVersionFlag)) { MinVersionParam = IgorRuntimeUtils.GetStringParam(CurrentParams, MinUnityVersionFlag); } else { MinVersionParam = GetConfigString(MinUnityVersionFlag); } if (IgorRuntimeUtils.IsStringParamSet(CurrentParams, MaxUnityVersionFlag)) { MaxVersionParam = IgorRuntimeUtils.GetStringParam(CurrentParams, MaxUnityVersionFlag); } else { MaxVersionParam = GetConfigString(MaxUnityVersionFlag); } UnityVersionInfo MinVersion = UnityVersionInfo.FromString(MinVersionParam); UnityVersionInfo MaxVersion = UnityVersionInfo.FromString(MaxVersionParam); EditorGUILayout.BeginVertical("box"); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Minimum Unity version"); EditorGUILayout.BeginHorizontal(); MinVersion.Platform = MaxVersion.Platform = DrawPlatformDropDown(MinVersion.Platform); MinVersion.MajorVersion = MaxVersion.MajorVersion = DrawMajorVersionDropDown(MinVersion.MajorVersion, -2); MinVersion.MinorVersion = DrawMinorVersionDropDown(MinVersion.MajorVersion, MinVersion.MinorVersion, MinVersion.MajorVersion, -2); MinVersion.ReleaseVersion = DrawReleaseVersionDropDown(MinVersion.MinorVersion, MinVersion.ReleaseVersion, MinVersion.MajorVersion, MinVersion.MinorVersion, -2); MinVersion.PatchVersion = DrawPatchVersionDropDown(MinVersion.ReleaseVersion, MinVersion.PatchVersion, MinVersion.MajorVersion, MinVersion.MinorVersion, MinVersion.ReleaseVersion, -2); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); DrawStringConfigParamUseValue(ref CurrentParams, "", MinUnityVersionFlag, MinVersion.ToString()); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); EditorGUILayout.BeginVertical("box"); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Maximum Unity version"); EditorGUILayout.BeginHorizontal(); string PlatformName = MinVersion.Platform; if (PlatformName == "") { PlatformName = "PC"; } EditorGUILayout.LabelField(PlatformName, GUILayout.MaxWidth(100.0f)); // MaxVersion.MajorVersion = DrawMajorVersionDropDown(MaxVersion.MajorVersion, MinVersion.MajorVersion); string MaxMajorVersionNumString = MaxVersion.MajorVersion.ToString(); if (MaxVersion.MajorVersion == -1) { MaxMajorVersionNumString = "Latest"; } EditorGUILayout.LabelField(MaxMajorVersionNumString, GUILayout.MaxWidth(65.0f)); MaxVersion.MinorVersion = DrawMinorVersionDropDown(MaxVersion.MajorVersion, MaxVersion.MinorVersion, MinVersion.MajorVersion, MinVersion.MinorVersion); MaxVersion.ReleaseVersion = DrawReleaseVersionDropDown(MaxVersion.MinorVersion, MaxVersion.ReleaseVersion, MinVersion.MajorVersion, MinVersion.MinorVersion, MinVersion.ReleaseVersion); MaxVersion.PatchVersion = DrawPatchVersionDropDown(MaxVersion.ReleaseVersion, MaxVersion.PatchVersion, MinVersion.MajorVersion, MinVersion.MinorVersion, MinVersion.ReleaseVersion, MinVersion.PatchVersion); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); DrawStringConfigParamUseValue(ref CurrentParams, "", MaxUnityVersionFlag, MaxVersion.ToString()); EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }