Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }