private void OnDamageTaken() { if (damageableBehaviour.CurrentHealth <= 0) { targetableBehaviour.Disable(); } SafeEventHandler.SafelyBroadcastAction(ref DamageTaken); }
private IEnumerator GainConstantCurrency() { while (true) { yield return(WaitForTime(currencyGainInterval)); Currency += currencyPerInterval; SafeEventHandler.SafelyBroadcastAction(ref CurrencyUpdated); } }
private void InitCurrentWave() { if (currentWaveIndex >= waves.Count) { SafeEventHandler.SafelyBroadcastAction(ref WavesCompleted); } var wave = waves[currentWaveIndex]; wave.WaveCompleted += NextWave; wave.BeginWave(); SafeEventHandler.SafelyBroadcastAction(ref WaveChanged); }
public void StartWaves() { if (waves.Count > 0) { InitCurrentWave(); } else { print("No waves on Wave Controller"); SafeEventHandler.SafelyBroadcastAction(ref WavesCompleted); } }
private void RemoveAndUpdateTarget() { targetsInRange.Remove(Target); Target.GetComponent <Targetable>().TargetableStatusRemoved -= RemoveAndUpdateTarget; Target = null; SafeEventHandler.SafelyBroadcastAction(ref TargetLost); if (targetsInRange.Count > 1) { AddTarget(targetsInRange[0]); SafeEventHandler.SafelyBroadcastEvent(ref TargetAcquired, Target, this); } }
private void NextWave(object sender, EventArgTemplate <bool> success) { if (success.Attachment) { waves[CurrentWaveIndex].WaveCompleted -= NextWave; currentWaveIndex++; if (currentWaveIndex >= waves.Count) { SafeEventHandler.SafelyBroadcastAction(ref WavesCompleted); } else { InitCurrentWave(); } } }
private void UpdateHealth() { var currentHealth = 0; var maxHealth = 0; foreach (var castle in castles) { currentHealth += castle.CurrentHealth; maxHealth += castle.MaxHealth; } CurrentHealth = currentHealth; MaxHealth = maxHealth; SafeEventHandler.SafelyBroadcastAction(ref HealthUpdated); if (CurrentHealth <= 0) { SafeEventHandler.SafelyBroadcastEvent(ref LevelEnded, false, this); } }
private void TakeDamage(int damageAmount) { CurrentHealth = Mathf.Max(0, CurrentHealth - damageAmount); SafeEventHandler.SafelyBroadcastAction(ref DamageTaken); }
private void OnWaveUpdated() { CurrentWave = waveController.CurrentWaveIndex + 1; SafeEventHandler.SafelyBroadcastAction(ref WaveUpdated); }
public void StartLevel() { SafeEventHandler.SafelyBroadcastAction(ref LevelStarted); waveController.StartWaves(); }
public void OnCloseSelected() { SafeEventHandler.SafelyBroadcastAction(ref CloseButtonPressed); }
public void Disable() { SafeEventHandler.SafelyBroadcastAction(ref TargetableStatusRemoved); enabled = false; }