public ISoldier Make(Soldiers soldierType)
        {
            ISoldier soldier;

            switch (soldierType)
            {
            case Soldiers.Knight:
                soldier = new Knight();
                break;

            case Soldiers.Cavalry:
                soldier = new Cavalry();
                break;

            case Soldiers.DragonKnight:
                soldier = new DragonKnight();
                break;

            default:
                throw new ArgumentOutOfRangeException("Soldier type " + soldierType + " is not supported.");
            }

            soldier.SetHp(100);
            soldier.SetMp(100);

            return(soldier);
        }
Exemplo n.º 2
0

        
    // Use this for initialization (overriding base.Awake())
    protected override void Awake()
    {
        // Call base func
        base.Awake();

        if (DragonKnight == null)
        {
            Debug.LogError(name + ": DragonKnight not set!");
        }
        _dragonKnight = DragonKnight.GetComponent <DragonKnight> ();
        if (_dragonKnight == null)
        {
            Debug.LogError(name + ": DragonKnight not correctly set!");
        }
    }