void UpdateDataFromControls(SpellDamageCalculatorData data) { data.Spell = (DamageSpell)spellComboBox.SelectedValue; if (data.CasterHeroStats == null) { data.CasterHeroStats = new HeroStats(); } data.CasterHeroStats.Hero = (Hero)heroComboBox.SelectedValue; data.CasterHeroStats.Level = (int)heroLevelUpDn.Value; data.CasterHeroStats.SpellPower = (int)heroSpellPowerUpDn.Value; data.CasterHeroStats.SetLevelForSecondarySkillType(typeof(AirMagic), (SecondarySkillLevel)heroAirComboBox.SelectedValue); data.CasterHeroStats.SetLevelForSecondarySkillType(typeof(FireMagic), (SecondarySkillLevel)heroFireComboBox.SelectedValue); data.CasterHeroStats.SetLevelForSecondarySkillType(typeof(EarthMagic), (SecondarySkillLevel)heroEarthComboBox.SelectedValue); data.CasterHeroStats.SetLevelForSecondarySkillType(typeof(WaterMagic), (SecondarySkillLevel)heroWaterComboBox.SelectedValue); data.CasterHeroStats.SetLevelForSecondarySkillType(typeof(Sorcery), (SecondarySkillLevel)heroSorceryComboBox.SelectedValue); data.TargetProtectionSpells = new List <ProtectionSpell>(); CheckProtectionSpellComboBox(protFromAirComboBox, new ProtectionFromAir(), data.TargetProtectionSpells); CheckProtectionSpellComboBox(protFromFireComboBox, new ProtectionFromFire(), data.TargetProtectionSpells); CheckProtectionSpellComboBox(protFromEarthComboBox, new ProtectionFromEarth(), data.TargetProtectionSpells); CheckProtectionSpellComboBox(protFromWaterComboBox, new ProtectionFromWater(), data.TargetProtectionSpells); data.CasterMagicOrbs = new List <MagicOrb>(); CheckMagicOrbCheckBox(airOrbChbx, typeof(AirMagic), data.CasterMagicOrbs); CheckMagicOrbCheckBox(fireOrbChbx, typeof(FireMagic), data.CasterMagicOrbs); CheckMagicOrbCheckBox(earthOrbChbx, typeof(EarthMagic), data.CasterMagicOrbs); CheckMagicOrbCheckBox(waterOrbChbx, typeof(WaterMagic), data.CasterMagicOrbs); data.Spell.CasterStats = data.CasterHeroStats.SpellCasterStatsForSpell(data.Spell); data.Target = PickedUnit; }
void SetControlsWithData(SpellDamageCalculatorData data) { dataUpdateSuspended = true; spellComboBox.SelectedItem = data.Spell ?? spellComboBox.Items[0]; if (data.CasterHeroStats != null && data.CasterHeroStats.Hero != null) { heroComboBox.SelectedItem = data.CasterHeroStats.Hero; heroLevelUpDn.Value = data.CasterHeroStats.Level; heroSpellPowerUpDn.Value = data.CasterHeroStats.SpellPower; heroAirComboBox.SelectedItem = data.CasterHeroStats.LevelForSecondarySkillType(typeof(AirMagic)); heroFireComboBox.SelectedItem = data.CasterHeroStats.LevelForSecondarySkillType(typeof(FireMagic)); heroEarthComboBox.SelectedItem = data.CasterHeroStats.LevelForSecondarySkillType(typeof(EarthMagic)); heroWaterComboBox.SelectedItem = data.CasterHeroStats.LevelForSecondarySkillType(typeof(WaterMagic)); heroSorceryComboBox.SelectedItem = data.CasterHeroStats.LevelForSecondarySkillType(typeof(Sorcery)); } else { heroComboBox.SelectedIndex = 0; heroLevelUpDn.Value = 1; heroSpellPowerUpDn.Value = 0; heroAirComboBox.SelectedItem = SecondarySkillLevel.None; heroFireComboBox.SelectedItem = SecondarySkillLevel.None; heroEarthComboBox.SelectedItem = SecondarySkillLevel.None; heroWaterComboBox.SelectedItem = SecondarySkillLevel.None; heroSorceryComboBox.SelectedItem = SecondarySkillLevel.None; } PickedUnit = data.Target; dataUpdateSuspended = false; }
private void SpellDamagePanelDataChanged(object sender, EventArgs e) { CombatDamageCalculatorInputData combatData = combatDamagePanel.Data; SpellDamageCalculatorData spellData = spellDamagePanel.Data; combatData.AttackerHeroStats = spellData.CasterHeroStats; combatData.Defender = spellData.Target; combatDamagePanel.Data = combatData; }