public void UnitReachedPlot(SwarmUnit unit, FarmPlot plot) { if (plot == _farmPlot) { _farmPlot.Decay(); RemoveUnit(unit); } }
public void OnBugSpawn(SwarmUnit unit) { if (!_bugHasSpawned) { _bugHasSpawned = true; _farmEvents.onFirstBugSpawn.Invoke(); } _farmEvents.onBugSpawn.Invoke(); }
private void RemoveUnit(SwarmUnit unit) { _swarmUnits.Remove(unit.gameObject); //soundEffectManager.SoundSwarmStop(); Destroy(unit.gameObject); if (_swarmUnits.Count == 0 && !_continueSpawning) { Destroy(gameObject); } }
public void UnitHit(SwarmUnit unit) { for (var i = 0; i < _observers.Count; ++i) { if (_observers[i] is ISwarmObserver) { (_observers[i] as ISwarmObserver).OnBugKill(unit); } } Notify(new SwarmBugKillEvent(unit, this)); RemoveUnit(unit); }
private void OnSpawnUnit(SwarmUnit unit) { //soundEffectManager.SoundSwarm(); _timeSinceLastSpawn = 0.0f; _ignoreSpawnTimer = false; for (var i = 0; i < _observers.Count; ++i) { if (_observers[i] is ISwarmObserver) { (_observers[i] as ISwarmObserver).OnBugSpawn(unit); } } }
public SwarmBugKillEvent(SwarmUnit swarmUnit, Swarm invoker) : base(invoker) { bug = swarmUnit; swarm = invoker; }
public void OnBugKill(SwarmUnit unit) { _farmEvents.onBugKill.Invoke(); }
public void OnBugSpawn(SwarmUnit unit) { }
public void OnBugKill(SwarmUnit unit) { Scores.AddScore(_killBugPoinst); }
public SwarmBugSpawnEvent(Swarm swarm, SwarmUnit bug) : base(swarm) { this.swarm = swarm; this.bug = bug; }