Gruppe22.Backend.Enemy.Enemy C# (CSharp) Метод

Enemy() публичный Метод

The constructor for an enemy. Calls the contructor for an actor and sets enemy-specific properties. Chooses a random graphic for the enemy suitable to the level the enemy is in. For the params see actor.
public Enemy ( int health = -1, int armour = -1, int damage = -1, int maxHealth = -1, string name = "", Random r = null, int level = 1 ) : System
health int
armour int
damage int
maxHealth int
name string
r System.Random
level int
Результат System
        public Enemy( int health = -1, int armour = -1, int damage = -1, int maxHealth = -1, string name = "", Random r = null, int level = 1)
            : base(ActorType.Enemy, health, armour, damage, maxHealth, name, r)
        {
            if (r == null) { r = new Random(); }
            _actorType = ActorType.Enemy;
            switch (level)
            {
                case 0:
                    _animationFile = ".\\content\\mouse.xml";
                    _damage = 2;
                    _penetrate = 0;
                    _scared = -1;
                    _exp = 10;
                    aggro = true;
                    crazy = false;
                    break;
                case 1:
                    switch (_random.Next(4))
                    {
                        case 0:
                            _animationFile = ".\\content\\bat.xml";
                            aggro = true;
                            crazy = true;
                            break;
                        case 1:
                            _animationFile = ".\\content\\gnome.xml";
                            aggro = true;
                            crazy = false;
                            break;
                        case 2:
                            _animationFile = ".\\content\\wolf.xml";
                            aggro = true;
                            crazy = false;
                            break;
                        case 3:
                            _animationFile = ".\\content\\spider.xml";
                            aggro = true;
                            crazy = true;
                            break;
                    }
                    break;
                case 2:
                    switch (r.Next(4))
                    {
                        case 0:
                            _animationFile = ".\\content\\skeleton.xml";
                            aggro = true;
                            crazy = true;
                            break;
                        case 1:
                            _animationFile = ".\\content\\ghost.xml";
                            aggro = false;
                            crazy = false;
                            break;
                        case 2:
                            _animationFile = ".\\content\\mummy.xml";
                            aggro = true;
                            crazy = false;
                            break;
                        case 3:
                            _animationFile = ".\\content\\vamp.xml";
                            aggro = true;
                            crazy = false;
                            break;
                    }
                    break;
                case 3:
                    switch (r.Next(4))
                    {
                        case 0:
                            _animationFile = ".\\content\\croc.xml";
                            aggro = true;
                            crazy = false;
                            break;
                        case 1:
                            _animationFile = ".\\content\\thief.xml";
                            aggro = true;
                            crazy = false;
                            break;
                        case 2:
                            _animationFile = ".\\content\\cyclops.xml";
                            aggro = true;
                            crazy = false;
                            break;
                        case 3:
                            _animationFile = ".\\content\\devil.xml";
                            aggro = true;
                            crazy = false;
                            break;
                    }
                    break;
                case 11:
                    _animationFile = ".\\content\\rat.xml";
                    aggro = true;
                    crazy = false;
                    _level = 4;
                    break;
                case 12:
                    _animationFile = ".\\content\\necro.xml";
                    aggro = true;
                    crazy = false;
                    _level = 5;
                    break;
                case 13:
                    _animationFile = ".\\content\\dragon.xml";
                    aggro = true;
                    crazy = false;
                    _level = 6;
                    break;
            }
            if (level > 0)
            {
                Item item = new Item(r, 0, _level, false);
                AddItem(item);
                item.owner = this;
            }
            _gold = _random.Next(10 + _level / 10) * _level;
            if (level > 10)
            {
                Item item = new Item(this, Backend.ItemType.Key, "Key to level " + (level % 10).ToString(), null, 0, level);
                AddItem(item);
                item.owner = this;
            }
        }