public void registerTowerInSpawn(byte spawn, GameTowerInstance tower) { if (_targetsBySpawn.ContainsKey(spawn)) { _targetsBySpawn.Remove(spawn); } _targetsBySpawn.Add(spawn, tower); }
public GameTowerInstance instantiateTower(string towerName, byte spawnPos) { if (_towers.ContainsKey(towerName)) { GameTower gt = _towers [towerName]; GameTowerInstance gti = new GameTowerInstance(IDFactory.getNextID(), gt, spawnPos); World.getInstance().registerTower(gti); return(gti); } return(null); }
public override void doDie(Creature killer) { GameTowerInstance gti = killer as GameTowerInstance; SwarmController.getInstance().notifySoldierKilled(_spawnZoneSource, gti.getSpawn()); LevelManager.getInstance().notifyEnemyKilled(getEnemyTemplate()); World.getInstance().unregisterEnemy(this); _gameInstance.GetComponent <EnemyController> ().enabled = false; _gameInstance.GetComponent <HealthBarController> ().destroy(); _gameInstance.AddComponent <AudioSource> ().loop = false; SoundTable.getInstance().getAudioPlayer(_gameInstance.GetComponent <AudioSource> (), "sound_enemy_death"); _gameInstance.GetComponent <AudioSource> ().Play(); _gameInstance.GetComponent <Animator> ().SetBool("Death", true); _gameInstance.AddComponent <EnemyDeathController> (); //GameObject.Destroy (_gameInstance); }
public void registerTower(GameTowerInstance towerInstance) { lock (_towers) { _towers.Add(towerInstance.getObjectId(), towerInstance); } }
public void unregisterTower(GameTowerInstance towerInstance) { lock (_towers) { _towers.Remove(towerInstance.getObjectId()); } }