private void OnTriggerEnter(Collider other) { if (AlternativeCamera == null) { AlternativeCamera = transform.parent.GetComponentInChildren <Cinemachine.ICinemachineCamera>(); } if (other.gameObject.tag == "Player") { ElementalViewController buffer = other.gameObject.GetComponent <ElementalViewController>(); if (brain.ContainsKey(buffer.cinemachineBrain)) { return; } int currentValue = brain.Count; brain.Add(buffer.cinemachineBrain, brain.Count); buffer.cinemachineBrain.m_DefaultBlend = new Cinemachine.CinemachineBlendDefinition(Cinemachine.CinemachineBlendDefinition.Style.EaseInOut, blendingTime); deactivatedCamera.Add(buffer.normalView); //deactivatedTopCamera.Add(buffer.topView); AlternativeCamera.Priority = 15; AlternativeCamera.LookAt = other.transform; if (mustFollow) { AlternativeCamera.Follow = other.transform; } deactivatedCamera[currentValue].Priority = 0; } }
private void SlowTime() { Time.timeScale = 0.1f; Time.fixedDeltaTime = Time.timeScale * .02f; ElementalViewController view = GetComponent <ElementalViewController>(); if (view == null) { return; } view.Pan(40f, 0.1f); view.ZoomIn(0.1f); }
private void RestoreTime() { Time.timeScale = 1f; Time.fixedDeltaTime = Time.timeScale * .02f; ElementalViewController view = GetComponent <ElementalViewController>(); if (view == null) { return; } view.Pan(60f, 0.3f); view.ZoomOut(0.3f); }
private void OnTriggerExit(Collider other) { if (AlternativeCamera == null) { AlternativeCamera = transform.parent.GetComponentInChildren <Cinemachine.ICinemachineCamera>(); } if (other.gameObject.tag == "Player") { ElementalViewController buffer = other.gameObject.GetComponent <ElementalViewController>(); if (brain.ContainsKey(buffer.cinemachineBrain)) { int currentValue = brain[buffer.cinemachineBrain]; deactivatedCamera[currentValue].Priority = 15; AlternativeCamera.Priority = 0; deactivatedCamera.RemoveAt(currentValue); brain.Remove(buffer.cinemachineBrain); buffer.cinemachineBrain.m_DefaultBlend = new Cinemachine.CinemachineBlendDefinition(Cinemachine.CinemachineBlendDefinition.Style.EaseInOut, defaultBlending); } } }