private static void AddProbabilitySlider(IStronglyTypedUIHelper disasterGroup, string settingKey, DisasterInfo disasterInfo) { var probability = disasterInfo.m_finalRandomProbability; if (ModConfig.Instance.HasSetting(settingKey)) { probability = ModConfig.Instance.GetSetting <int>(settingKey); } var labelText = disasterInfo.name; var slider = disasterGroup.AddSlider( labelText, 0, 1000, 1, probability, newProbability => { disasterInfo.m_finalRandomProbability = (int)newProbability; ModConfig.Instance.SaveSetting(settingKey, (int)newProbability); }); slider.width = (int)Math.Round(slider.width * 1.5f); var label = slider.GetLabel(); label.width = (int)Math.Round(label.width * 1.5f); }
private void AddMaxIntensitySlider(IStronglyTypedUIHelper group, string disasterName, string impactSettingKey) { var setting = ModConfig.Instance.GetSetting <byte>(impactSettingKey); var slider = group.AddSlider( disasterName, MinimumIntensityValue, MaximumIntensityValue, 1, setting, val => { ModConfig.Instance.SaveSetting(impactSettingKey, (byte)val); UpdateMaxIntensityLabel(impactSettingKey, disasterName, val); }); slider.width = (int)Math.Round(slider.width * 1.4); var label = slider.GetLabel(); label.width = (int)Math.Round(label.width * 1.4); if (maxIntensitySliders.ContainsKey(impactSettingKey)) { maxIntensitySliders[impactSettingKey] = slider; } else { maxIntensitySliders.Add(impactSettingKey, slider); } UpdateMaxIntensityLabel(impactSettingKey, disasterName, setting); }