/// <summary> /// Aproxima a camera levando em consideração o nivel de zoom atual. /// </summary> public void ZoomIn() { //no zoom out at all if (zoomOutType == ZoomOutType.LOCAL) { zoomOutType = ZoomOutType.NONE; target = currentPlanet; zoomInButton.interactable = false; zoomOutButton.interactable = true; planetMarker.HideMarker(); gameManager.HideConnectionLines(); uIController.EVENT_Show_Active_Arrows(); } else if (zoomOutType == ZoomOutType.GLOBAL) // return to the 1st level of zoom out { zoomOutType = ZoomOutType.LOCAL; zoomTransform.gameObject.transform.position = new Vector3(currentPlanet.transform.position.x, currentPlanet.transform.position.y, zoomOutDistance / 2); target = zoomTransform.gameObject; zoomInButton.interactable = true; zoomOutButton.interactable = true; } }
/// <summary> /// Seta valores iniciais para as variaveis que precisam. /// </summary> void Awake() { originalPos = transform.position; zoomInButton.interactable = false; zoomOutButton.interactable = true; zoomOutType = ZoomOutType.NONE; factor = itemResizeFactor; }
/// <summary> /// Reseta o estado de zoom. /// </summary> public void ResetZoomOut() { zoomOutType = ZoomOutType.NONE; zoomInButton.interactable = false; zoomOutButton.interactable = true; planetMarker.HideMarker(); }
/// <summary> /// Afasta a camera levando em consideração o nivel de zoom atual. /// </summary> public void ZoomOut() { if (gameManager.GetState() == GameState.inGame) { // Se não estava com zoom out vai para o nivel local. if (zoomOutType == ZoomOutType.NONE) { zoomOutType = ZoomOutType.LOCAL; currentPlanet = target; zoomTransform.gameObject.transform.position = new Vector3(currentPlanet.transform.position.x, currentPlanet.transform.position.y, zoomOutDistance / 2); target = zoomTransform.gameObject; zoomInButton.interactable = true; zoomOutButton.interactable = true; planetMarker.DisplayMarker(); gameManager.ShowConnectionLines(); uIController.EVENT_Hide_Active_Arrows(); } // Se estava com zoom local vai para o global. else if (zoomOutType == ZoomOutType.LOCAL) { zoomOutType = ZoomOutType.GLOBAL; // Encontra o centro do mapa e move a camera para la. Vector3 zoomOut = gameManager.GetMapCenter(); zoomTransform.gameObject.transform.position = new Vector3(zoomOut.x, zoomOut.y, zoomOutDistance); target = zoomTransform.gameObject; zoomInButton.interactable = true; zoomOutButton.interactable = false; } } }