private void Awake() { GetComponent <ColorPicker>().CurrentColor = Color.white; m_InputField.onEndEdit.AddListener((s) => { if (lockedObject) { return; } Color32 color32; if (HexColorField.HexToColor(s, out color32)) { Color color = color32; onChanged.Invoke(string.Format("{0} {1} {2} {3}", color.r, color.g, color.b, color.a)); return; } onChanged.Invoke(s); }); GetComponent <ColorPicker>().onValueChanged.AddListener(color => { if (lockedObject) { return; } onChanged.Invoke(string.Format("{0} {1} {2} {3}", color.r, color.g, color.b, color.a)); }); }
void Update() { if (trackedLoopID != -1 && simulator != null && simulator.HasLoop(trackedLoopID)) { HeatLoop lp = simulator.Loop(trackedLoopID); temperatureTextValue.text = Localizer.Format("#LOC_SystemHeat_ToolbarPanel_LoopTemperatureValue", lp.Temperature.ToString("F0"), lp.NominalTemperature.ToString("F0")); string prefix = ""; if (lp.NetFlux == 0f) { prefix = ""; } if (lp.NetFlux > 0f) { prefix = "+"; } if (lp.NetFlux < 0f) { prefix = ""; } fluxTextValue.text = Localizer.Format("#LOC_SystemHeat_ToolbarPanel_LoopFluxValue", prefix, lp.NetFlux.ToString("F1")); if (lp.Temperature >= lp.NominalTemperature) { Color32 c; HexColorField.HexToColor("fe8401", out c); temperatureTextValue.color = c; } else { Color32 c; HexColorField.HexToColor("B4D455", out c); temperatureTextValue.color = c; } if (lp.NetFlux > 0) { Color32 c; HexColorField.HexToColor("fe8401", out c); fluxTextValue.color = c; } else { Color32 c; HexColorField.HexToColor("B4D455", out c); fluxTextValue.color = c; } } }
/// <summary> /// Get Color /// </summary> /// <returns>Return color else string</returns> public override object GetValue() { Color32 color32; if (HexColorField.HexToColor(m_InputField.text, out color32)) { Color color = color32; return(color); } return(m_InputField.text); }
/// <summary> /// Set color field value /// </summary> /// <param name="value">text</param> public override void SetValue(object value) { lockedObject = true; if (value.ToString().Split().Length == 4) { value = ColorEx.Parse(value.ToString()).ToRGBHex(); } Color32 color32; if (value is string && HexColorField.HexToColor(value.ToString(), out color32)) { Color color = color32; GetComponent <ColorPicker>().CurrentColor = color; lockedObject = false; return; } m_InputField.text = value.ToString(); lockedObject = false; }
protected void FixedUpdate() { float nominalTemp = 0f; if (module.moduleName == "FusionReactor" || module.moduleName == "ModuleFusionEngine") { nominalTemp = float.Parse(module.Fields.GetValue("SystemOutletTemperature").ToString()); datafields["heatGenerated"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_HeatGenerated", float.Parse(module.Fields.GetValue("SystemPower").ToString()).ToString("F0"))); datafields["powerGenerated"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_PowerGenerated", float.Parse(module.Fields.GetValue("CurrentPowerProduced").ToString()).ToString("F0"))); datafields["lifetime"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreLife", module.Fields.GetValue("FuelInput"))); datafields["temperature"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreTemperature", heatModule.LoopTemperature.ToString("F0"))); if (heatModule.LoopTemperature > nominalTemp) { datafields["temperature"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreTemperatureAlert", heatModule.LoopTemperature.ToString("F0")), Color.red); } else { datafields["temperature"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreTemperature", heatModule.LoopTemperature.ToString("F0")), new Color(0.705f, 0.83f, 0.33f)); } bool isOn = false; bool.TryParse(module.Fields.GetValue("Enabled").ToString(), out isOn); if (isOn != onToggle.isOn) { onToggle.SetIsOnWithoutNotify(isOn); } //onToggle.isOn = isOn; bool isCharge = false; bool.TryParse(module.Fields.GetValue("Charging").ToString(), out isCharge); chargeToggle.SetIsOnWithoutNotify(isCharge); //chargeToggle.isOn = isCharge; float chargeVal = (float)module.Fields.GetValue("CurrentCharge") / (float)module.Fields.GetValue("ChargeGoal"); chargeSlider.value = chargeVal; Color32 fillColor; if (chargeVal < 1.0f) { HexColorField.HexToColor("#F67A28", out fillColor); } else { HexColorField.HexToColor("#B4D455", out fillColor); } sliderFill.color = fillColor; } if (module.moduleName == "ModuleSystemHeatFissionReactor" || module.moduleName == "ModuleSystemHeatFissionEngine") { nominalTemp = float.Parse(module.Fields.GetValue("NominalTemperature").ToString()); datafields["heatGenerated"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_HeatGenerated", float.Parse(module.Fields.GetValue("CurrentHeatGeneration").ToString()).ToString("F0"))); datafields["powerGenerated"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_PowerGenerated", float.Parse(module.Fields.GetValue("CurrentElectricalGeneration").ToString()).ToString("F0"))); datafields["lifetime"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreLife", module.Fields.GetValue("FuelStatus"))); if (heatModule.LoopTemperature > nominalTemp) { datafields["temperature"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreTemperatureAlert", heatModule.LoopTemperature.ToString("F0")), Color.red); } else { datafields["temperature"].SetValue(Localizer.Format("#LOC_SystemHeat_ReactorPanel_Field_CoreTemperature", heatModule.LoopTemperature.ToString("F0")), new Color(0.705f, 0.83f, 0.33f)); } bool isOn = false; bool.TryParse(module.Fields.GetValue("Enabled").ToString(), out isOn); onToggle.isOn = isOn; } if (heatModule.LoopTemperature > nominalTemp) { warningIcon.enabled = true; } else { warningIcon.enabled = false; } }
public static void SetupAssets(KCModHelper _helper) { _helper.Log("-----------HOOKING UP ASSETS------------"); // Setup District UI GameObject District_UI_GameObject = GameObject.Instantiate(AssetsLoader.GetAsset("District") as GameObject); Transform Worker_UI = GameState.inst.playingMode.GameUIParent.transform.Find("WorkerUICanvas").Find("WorkerUI"); District_UI_GameObject.transform.SetParent(Worker_UI, false); // Collect Specific Children In District UI List <String> filter = new List <String>(new String[] { "District(Clone)", "Expand", "CreateSwatch", "ToggleSwatchPicker", "Dropdown", "Options", "Option", "ContentBar", "Picker", "Fill", "InputField", "BoxSlider", "Hue", "Background", "ModelPreview", "ToggleDeleteMode" }); District_UI_Children = Utilities.CollectChildren(District_UI_GameObject.transform, null, filter); GameObject Option_Prefab = District_UI_Children.Find(i => i.name == "Option").gameObject; AssetInfo option_Info = new AssetInfo("Option.Prefab", Option_Prefab.GetType(), Option_Prefab); AssetsLoader.assets.Add(option_Info); _helper.Log(option_Info.ToString()); // Mod Components District district_Component = District_UI_GameObject.AddComponent <District>(); Expand expand_Component = District_UI_Children.Find(i => i.name == "Expand").gameObject.AddComponent <Expand>(); CreateSwatch createSwatch_Component = District_UI_Children.Find(i => i.name == "CreateSwatch").gameObject.AddComponent <CreateSwatch>(); ModelPreview modelPreview_Component = District_UI_Children.Find(i => i.name == "ModelPreview").gameObject.AddComponent <ModelPreview>(); ToggleSwatchPicker toggleSwatchPicker_Component = District_UI_Children.Find(i => i.name == "ToggleSwatchPicker").gameObject.AddComponent <ToggleSwatchPicker>(); ToggleDeleteMode toggleDeleteMode_Componenet = District_UI_Children.Find(i => i.name == "ToggleDeleteMode").gameObject.AddComponent <ToggleDeleteMode>(); district_Component.AddSwatch(Color.white, District.SwatchType.Default); district_Component.AddSwatch(Color.blue, District.SwatchType.Default); district_Component.AddSwatch(Color.cyan, District.SwatchType.Default); district_Component.AddSwatch(Color.gray, District.SwatchType.Default); district_Component.AddSwatch(Color.green, District.SwatchType.Default); district_Component.AddSwatch(Color.magenta, District.SwatchType.Default); district_Component.AddSwatch(Color.red, District.SwatchType.Default); district_Component.AddSwatch(Color.yellow, District.SwatchType.Default); // Color Picker ColorPicker colorPicker_Component = District_UI_Children.Find(i => i.name == "Picker").gameObject.AddComponent <ColorPicker>(); ColorImage colorImage_Component = District_UI_Children.Find(i => i.name == "Fill").gameObject.AddComponent <ColorImage>(); colorImage_Component.picker = colorPicker_Component; HexColorField hexColorField_Component = District_UI_Children.Find(i => i.name == "InputField").gameObject.AddComponent <HexColorField>(); hexColorField_Component.hsvpicker = colorPicker_Component; BoxSlider boxSlider_Component = District_UI_Children.Find(i => i.name == "BoxSlider").gameObject.AddComponent <BoxSlider>(); boxSlider_Component.handleRect = boxSlider_Component.transform.Find("Handle Slide Area").Find("Handle").GetComponent <RectTransform>(); SVBoxSlider sVBoxSlider = boxSlider_Component.gameObject.AddComponent <SVBoxSlider>(); sVBoxSlider.picker = colorPicker_Component; ColorSlider colorSlider_Component = District_UI_Children.Find(i => i.name == "Hue").gameObject.AddComponent <ColorSlider>(); colorSlider_Component.hsvpicker = colorPicker_Component; colorSlider_Component.type = ColorValues.Hue; ColorSliderImage colorSliderImage_Component = colorSlider_Component.transform.Find("Background").gameObject.AddComponent <ColorSliderImage>(); colorSliderImage_Component.picker = colorPicker_Component; colorSliderImage_Component.type = ColorValues.Hue; colorSliderImage_Component.direction = Slider.Direction.BottomToTop; _helper.Log("-----------ASSETS HOOKED UP------------"); }