public void SetView(ExternalShipView view) { if (m_CurrentView != view) { if (m_CurrentView != null) { m_CurrentView.Select(false); } m_CurrentView = view; } //m_ViewCamera = view.m_ViewCamera; RawImage currentRawImage = GetComponent <RawImage>(); if (currentRawImage != null) { RawImage newRawImage = view.GetComponent <RawImage>(); if (newRawImage != null) { currentRawImage.texture = newRawImage.texture; } } if (m_LabelName != null) { m_LabelName.text = view.GetLabel(); } if (m_LabelZoom != null) { SpaceShipExternalCamera camera = m_CurrentView.m_ViewCamera; if (camera != null) { m_LabelZoom.text = "Zoom: x" + camera.GetZoom().ToString(); } } }
// Update is called once per frame private void Update() { if (MouseScreenCheck()) { if (m_DefaultView != null) { SpaceShipExternalCamera camera = m_CurrentView.m_ViewCamera; if (camera != null) { // Pan control if (Input.GetMouseButton(1)) { float mouseX = Input.GetAxis("Mouse X") * m_PanSpeed; float mouseY = Input.GetAxis("Mouse Y") * -m_PanSpeed; if (Cursor.lockState != CursorLockMode.Locked) { Cursor.lockState = CursorLockMode.Locked; if (Cursor.visible) { Cursor.visible = false; } } else { // Add the new rotation delta to the current pan value camera.Pan = new Vector2(mouseY, mouseX); //UpdateFreeView( camera ); } m_MouseBase = new Vector2(mouseX, mouseY); } else { if (Cursor.lockState == CursorLockMode.Locked) { Cursor.lockState = CursorLockMode.None; } if (Cursor.visible == false) { Cursor.visible = true; } } // Zoom control uint currentZoom = camera.GetZoom(); float mouseWheelValue = Input.GetAxis("Mouse ScrollWheel"); if (0.0f != mouseWheelValue) { int zoomChange = (int)(mouseWheelValue * m_ZoomSpeed); camera.ChangeZoom(zoomChange); currentZoom = camera.GetZoom(); } if (m_OldZoom != currentZoom) { m_LabelZoom.text = "Zoom: x" + currentZoom.ToString(); m_OldZoom = currentZoom; } } } } }