コード例 #1
0
    public void Execute()
    {
        AbsEnemy enemy = null;

        switch (enemyType)
        {
        case EnemyType.Elf:
            enemy = FactoryManager.EnemyFactory.CreateCharacter <EnemyElf>(weaponType, posistion);
            break;

        case EnemyType.Ogre:
            enemy = FactoryManager.EnemyFactory.CreateCharacter <EnemyOgre>(weaponType, posistion);
            break;

        case EnemyType.Troll:
            enemy = FactoryManager.EnemyFactory.CreateCharacter <EnemyTroll>(weaponType, posistion);
            break;

        default:
            Debug.Log("无法创建俘兵");
            break;
        }
        GameFacade.Instance.CharacterSystem.RemoveEnemy(enemy);
        SoliderCaptiver captiver = new SoliderCaptiver(enemy);

        GameFacade.Instance.CharacterSystem.AddSoldier(captiver);
    }
コード例 #2
0
 public void VisitorEnemy(AbsEnemy enemy)
 {
     if (!enemy.IsKilled)
     {
         EnemyCount++;
     }
 }
コード例 #3
0
    public SoliderCaptiver(AbsEnemy _enemy)
    {
        enemy = _enemy;
        CharacterAttr attr = new CharacterAttr(enemy.CharacterAttr.AttrStrategy, enemy.CharacterAttr.BaseAttr, 1);

        OnInit(enemy.CharacterGameObject, attr, enemy.Weapon, enemy.Position);
    }
コード例 #4
0
 public void RemoveEnemy(AbsEnemy _enemy)
 {
     enemyList.Remove(_enemy);
     GameFacade.Instance.UpdateAliveCount();
 }
コード例 #5
0
 public void AddEnemy(AbsEnemy _enemy)
 {
     enemyList.Add(_enemy);
     GameFacade.Instance.UpdateAliveCount();
 }