public void notifyIdleSoldier(GameEnemyInstance gei) { int spawnZone = gei.getSpawnZoneOrigin(); SpawnZoneController szc = _spawnZoneControllers [spawnZone].GetComponent <SpawnZoneController> (); szc.addIldeSoldier(gei); }
public GameEnemyInstance spawnSoldier(string attackerTemplate, int spawnZone, byte order) { SwarmOrder orderObj = createOrder(0, order, spawnZone); GameEnemy template = EnemyTable.getInstance().getEnemyByName(attackerTemplate); if (template == null) { return(null); } GameEnemyInstance attacker = new GameEnemyInstance(IDFactory.getNextID(), template, spawnZone); World.getInstance().registerEnemy(attacker); Vector3 spawnPosition = _positions [_computedPaths [spawnZone].getSpawnPointIndex()]; attacker.getGameInstance().transform.position = spawnPosition; attacker.getGameInstance().GetComponent <EnemyController> ().setOrder(orderObj); return(attacker); }
public void unregisterEnemy(GameEnemyInstance gei) { lock (_enemies) { _enemies.Remove(gei.getObjectId()); } }
public void registerEnemy(GameEnemyInstance gei) { lock (_enemies) { _enemies.Add(gei.getObjectId(), gei); } }