void Update() { if (m_Valid && Debugging.debugControlEnabled && m_OriginalCamera != null) { m_MessageTimer += Time.deltaTime; bool needUpdateCamera = false; if (Input.GetButtonDown(kDebugNext)) { NextCamera(); needUpdateCamera = true; } if (Input.GetButtonDown(kDebugPrevious)) { PreviousCamera(); needUpdateCamera = true; } if (needUpdateCamera) { m_MessageTimer = 0.0f; if (m_CurrentCamera == m_OriginalCamera) { m_OriginalCameraPosition = m_OriginalCamera.transform.position; m_OriginalCameraRotation = m_OriginalCamera.transform.rotation; } m_CurrentCamera = GetNextCamera(); if (m_CurrentCamera != null) { // If we witch back to the original camera, put back the transform in it. if (m_CurrentCamera == m_OriginalCamera) { m_OriginalCamera.transform.position = m_OriginalCameraPosition; m_OriginalCamera.transform.rotation = m_OriginalCameraRotation; } transform.position = m_CurrentCamera.transform.position; transform.rotation = m_CurrentCamera.transform.rotation; } } if (m_MessageTimer < m_MessageDuration) { string cameraName = m_CurrentCamera != null ? m_CurrentCamera.name : "NULL"; string message = string.Format("Switching to camera : {0}", cameraName); Debugging.PushDebugMessage(message); } } }