public override void OnSelectEmotion() { if (this._owner.faction != Faction.Player) { return; } foreach (BattleUnitModel alive in BattleObjectManager.instance.GetAliveList()) { if (alive.faction != this._owner.faction) { alive.TakeBreakDamage(BrkDmg, DamageType.Emotion, this._owner); } else { alive.breakDetail.RecoverBreak(RecoverBP); } } Camera effectCam = SingletonBehavior <BattleCamManager> .Instance.EffectCam; CameraFilterPack_Distortion_Dream2 r = effectCam.GetComponent <CameraFilterPack_Distortion_Dream2>(); if ((UnityEngine.Object)r == (UnityEngine.Object)null) { r = effectCam.gameObject.AddComponent <CameraFilterPack_Distortion_Dream2>(); } SingletonBehavior <BattleCamManager> .Instance?.StartCoroutine(this.DistortionRoutine(r)); SingletonBehavior <SoundEffectManager> .Instance.PlayClip("Creature/Cosmos_Sing")?.SetGlobalPosition(this._owner.view.WorldPosition); }
private IEnumerator DistortionRoutine(CameraFilterPack_Distortion_Dream2 r) { float e = 0.0f; float amount = UnityEngine.Random.Range(20f, 30f); int speed = 15; while ((double)e < 1.0) { e += Time.deltaTime * 2f; r.Distortion = Mathf.Lerp(amount, 0.0f, e); r.Speed = Mathf.Lerp((float)speed, 0.0f, e); yield return((object)null); } UnityEngine.Object.Destroy(r); }