private IEnemy InstantiateEnemy(EnemyCategory category) { IEnemy enemy = _enemyFactory.Create(category); enemy.Dispose(); return(enemy); }
public IEnemy TakeEnemy(EnemyCategory category) { if (_enemies[category].Count <= 0) { _enemies[category].Push(InstantiateEnemy(category)); } IEnemy enemy = _enemies[category].Pop(); enemy.SetOnDisposeAction(DisposeEnemy); return(enemy); }
/// <summary> /// 查询指定范围内活着的敌人 /// </summary> /// <param name="_category">种类</param> /// <returns></returns> public List <MonsterActor> QueryEnemyActor(EnemyCategory _category) { List <MonsterActor> retList = new List <MonsterActor>(); List <int> enemyInstIdList = hActorModule.EnemyInstIdList; MonsterActor enemy = null; for (int i = 0; i < enemyInstIdList.Count; i++) { enemy = hActorModule.EnemyDict[enemyInstIdList[i]]; if (enemy.Category == _category) { retList.Add(enemy); } } return(retList); }
void spawnEnemy(EnemyCategory enemy) { switch (enemy) { case EnemyCategory.Hamster: Instantiate(HamsterPrefab); break; case EnemyCategory.Butterfly: Instantiate(ButterflyPrefab); break; case EnemyCategory.Goose: spawnGoose(); break; default: throw new ArgumentException($"unexpected enemy type {enemy}"); } }
public Boolean HasCategory(EnemyCategory category) { return(btl_util.CheckEnemyCategory(Data, (Byte)category)); }