コード例 #1
0
ファイル: Form1.cs プロジェクト: segfaultvicta/CSharpMCS
        private void addAbilityButton_Click(object sender, EventArgs e)
        {
            AbilitiesForm d = new AbilitiesForm();

            if (d.ShowDialog() == DialogResult.OK)
            {
                Type           abilityType = asm.GetType("Elena." + d.SelectedNode().Name);
                bool           propertyGenerated;
                MonsterAbility ability;
                try
                {
                    ability           = (MonsterAbility)Activator.CreateInstance(abilityType);
                    propertyGenerated = true;
                }
                catch
                {
                    propertyGenerated = false;
                    ability           = new NullAbility();
                }
                if (propertyGenerated)
                {
                    if (selectedAbility.IsNull)
                    {
                        monster.AddAbility(ability);
                    }
                    else
                    {
                        monster.AddAbility(ability, selectedAbility);
                    }
                    selectedAbility = new NullAbility();
                }
                this.UpdateData();
            }
        }
コード例 #2
0
ファイル: AbilityBase.cs プロジェクト: vborodin/AIShooterDemo
        public static AbilityBase Create(IAbilityData abilityData)
        {
            if (abilityData == null)
            {
                return(new NullAbility());
            }
            AbilityBase ability;

            switch (abilityData.AbilityName)
            {
            case "Mockup":
                ability = new MockupAbility(abilityData);
                break;

            default:
                ability = new NullAbility();
                break;
            }

            return(ability);
        }