コード例 #1
0
        public static CreatureClassBase Create(CreatureClassType creatureClassType, CreatureBase creatureBase)
        {
            switch (creatureClassType)
            {
            case CreatureClassType.Monster:
                return(new Monster(creatureBase));

            case CreatureClassType.Warrior:
                return(new Warrior(creatureBase));

            case CreatureClassType.Barbarian:
                return(new Barbarian(creatureBase));

            case CreatureClassType.Monk:
                return(new Monk(creatureBase));

            case CreatureClassType.Cleric:
                return(new Cleric(creatureBase));

            case CreatureClassType.Thief:
                return(new Thief(creatureBase));

            case CreatureClassType.Mage:
                return(new Mage(creatureBase));

            default:
                throw new ArgumentOutOfRangeException(nameof(creatureClassType), creatureClassType, null);
            }
        }
コード例 #2
0
 protected CreatureBase(double agility, double charisma, double intelligence, double stamina, double strength,
                        double wisdom, CreatureClassType creatureClassType)
 {
     CreatureClass = CreatureClassFactory.Create(creatureClassType, this);
     Stats         = new Dictionary <StatType, Stat>
     {
         { StatType.Agility, new Stat(StatType.Agility, agility) },
         { StatType.Charisma, new Stat(StatType.Charisma, charisma) },
         { StatType.Intelligence, new Stat(StatType.Intelligence, intelligence) },
         { StatType.Stamina, new Stat(StatType.Stamina, stamina) },
         { StatType.Strength, new Stat(StatType.Strength, strength) },
         { StatType.Wisdom, new Stat(StatType.Wisdom, wisdom) }
     };
 }
コード例 #3
0
 protected CreatureClassBase(CreatureBase creatureBase, CreatureClassType creatureClassType)
 {
     _creatureBase      = creatureBase;
     _creatureClassType = creatureClassType;
 }
コード例 #4
0
 public Monster(double agility, double charisma, double intelligence, double stamina, double strength, double wisdom, CreatureClassType creatureClassType)
     : base(agility, charisma, intelligence, stamina, strength, wisdom, creatureClassType)
 {
 }