private void OnDestroy() { for (int i = 0; i < _fishHandlerCoroutines.Count; i++) { var coroutine = _fishHandlerCoroutines[i]; TimingHelpers.CleanlyKillCoroutine(ref coroutine); } }
private void DecrementWaterLevel(float value, float overTime) { if (_faucetOn) { return; } TimingHelpers.CleanlyKillCoroutine(ref _waterLevelCoroutine); _waterLevelCoroutine = Timing.RunCoroutine(HandleWaterLevelChange(_currentWaterLevel - value, overTime)); }
public void StartPlaying() { if (_playing) { return; } _playing = true; TimingHelpers.CleanlyKillCoroutine(ref _audioHandlingCoroutine); _audioHandlingCoroutine = Timing.RunCoroutine(Play()); }
public void Victory() { IsAlive = false; WaterHandler.Instance.StopAllWaterInteractions(); TimingHelpers.CleanlyKillCoroutine(ref _movingCoroutine); AudioManager.Instance.PlayWinJingle(); Timing.CallDelayed(2f, () => { EOGUiWin.SetActive(true); }); }
private void OnCollisionStay2D(Collision2D collision) { if (!IsAlive) { return; } TimingHelpers.CleanlyKillCoroutine(ref _movingCoroutine); _movingCoroutine = Timing.RunCoroutine(HandleGoTo(transform.localPosition), Segment.FixedUpdate); if (WaterHandler.Instance.WaterEdgeOn) { KillFishie(); } }
public void KillFishie() { IsAlive = false; WaterHandler.Instance.StopAllWaterInteractions(); TimingHelpers.CleanlyKillCoroutine(ref _movingCoroutine); _animator.SetTrigger("Die"); AudioManager.Instance.PlayDeath(); Timing.CallDelayed(2f, () => { EOGUi.SetActive(true); AudioManager.Instance.PlayLoseJingle(); }); }
public void StopAllWaterInteractions() { _faucetOn = false; TimingHelpers.CleanlyKillCoroutine(ref _handleFaucetCoroutine); TimingHelpers.CleanlyKillCoroutine(ref _handleWaterCoroutine); TimingHelpers.CleanlyKillCoroutine(ref _waterLevelCoroutine); AudioManager.Instance.FaucetEffect.EndPlaying(); AudioManager.Instance.DrainEffect.EndPlaying(); FillingWaterAnim.SetActive(false); DrainingWaterAnim.SetActive(false); CanHandleWater = false; foreach (var item in WaterTapAnimator) { item.enabled = false; } }
public void TurnOnFaucet() { if (!CanHandleWater || _faucetOn) { return; } _faucetOn = true; TimingHelpers.CleanlyKillCoroutine(ref _waterLevelCoroutine); _handleFaucetCoroutine = Timing.RunCoroutine(HandleFaucet()); AudioManager.Instance.FaucetEffect.StartPlaying(); AudioManager.Instance.DrainEffect.EndPlaying(); FillingWaterAnim.SetActive(true); DrainingWaterAnim.SetActive(false); foreach (var item in WaterTapAnimator) { item.enabled = false; } }
public void MoveTo(Vector3 position) { TimingHelpers.CleanlyKillCoroutine(ref _movingCoroutine); _movingCoroutine = Timing.RunCoroutine(HandleGoTo(position), Segment.FixedUpdate); }
private void OnDestroy() { TimingHelpers.CleanlyKillCoroutine(ref _movingCoroutine); }
private IEnumerator <float> HandleCatCoroutine() { CoroutineHandle?meowing = null; if (_round == 4) { meowing = Timing.RunCoroutine(SpawnAllMeows()); } AudioManager.Instance.CatTheme.StartPlaying(); foreach (var catWave in CatWaves) { catWave.SetActive(true); } yield return(Timing.WaitForSeconds(AudioManager.Instance.CatTheme.StartClip.length)); foreach (var catWave in CatWaves) { catWave.SetActive(false); } Cat.sprite = Cats[_round - 1]; Cat.gameObject.SetActive(true); yield return(Timing.WaitForSeconds(DelayBeforeCatSpawnsAttacks)); _attacks.Add(Instantiate(CatAttackIndicatorPrefab, transform).GetComponent <Animator>()); foreach (var attack in _attacks) { attack.transform.position = WaterHandler.Instance.GetPointInsideWater(); attack.gameObject.SetActive(true); } yield return(Timing.WaitForSeconds(DelayBeforeCatAttacksKill)); foreach (var attack in _attacks) { attack.SetTrigger("Attack"); } AudioManager.Instance.PlayCatAttack(); AudioManager.Instance.CatTheme.EndPlaying(); CatAnimator.SetTrigger("Despawn"); yield return(Timing.WaitForSeconds(DelayBeforeCatCleanup)); foreach (var attack in _attacks) { attack.gameObject.SetActive(false); } Cat.gameObject.SetActive(false); WaterHandler.Instance.ResumeWaterInteractions(); TimingHelpers.CleanlyKillCoroutine(ref meowing); if (_round == 4) { WaterHandler.Instance.CurrentFish.Victory(); } if (WaterHandler.Instance.CurrentFish.IsAlive) { IsCatActive = false; } }
private void OnDestroy() { TimingHelpers.CleanlyKillCoroutine(ref _handleCatCoroutine); }
private void OnDestroy() { TimingHelpers.CleanlyKillCoroutine(ref _foodSpawner); }
private void OnDestroy() { TimingHelpers.CleanlyKillCoroutine(ref _handleFaucetCoroutine); TimingHelpers.CleanlyKillCoroutine(ref _handleWaterCoroutine); TimingHelpers.CleanlyKillCoroutine(ref _waterLevelCoroutine); }
private void OnDestroy() { TimingHelpers.CleanlyKillCoroutine(ref _audioHandlingCoroutine); }