// Update is called once per frame void Update() { if (player) { if (active && player.GetTargetingSystem().GetTarget()) { Vector3 targpos = player.GetTargetingSystem().GetTarget().position; Vector3 viewpos = Camera.main.WorldToViewportPoint(targpos); if (viewpos.x > 1 || viewpos.x < 0 || viewpos.y < 0 || viewpos.y > 1) { spr.enabled = true; spr.sortingOrder = player.GetComponent <SpriteRenderer>().sortingOrder; var x = (-player.transform.position + targpos); x.z = 0; float magcheck = Mathf.Max(viewpos.x, 1 - viewpos.x, viewpos.y, 1 - viewpos.y); transform.localScale = new Vector3(1 / magcheck, 1 / magcheck, 1); if (player.IsMoving() || init) { init = false; transform.position = player.transform.position + x.normalized * 10; // TODO: check condition for adding/subbing 90 transform.eulerAngles = new Vector3(0, 0, (Mathf.Rad2Deg * Mathf.Atan(x.y / x.x) - (x.x > 0 ? 90 : -90))); } } else { spr.enabled = false; } } else { spr.enabled = false; } } }
private void LateUpdate() { if (initialized) { if (eventSystem && !eventSystem.IsPointerOverGameObject()) { if (Input.GetAxis("Mouse ScrollWheel") < 0f) { zLevel = Mathf.Min(10 + 2.5F * (1 + CoreUpgraderScript.GetCoreTier(PlayerCore.Instance.blueprint.coreShellSpriteID)), zLevel + 0.5F); Focus(transform.position); } else if (Input.GetAxis("Mouse ScrollWheel") > 0f) { zLevel = Mathf.Max(5, zLevel - 0.5F); Focus(transform.position); } } if (panning) { Pan(); } else if (core.IsMoving()) // lock camera { Focus(core.transform.position); } ProximityInteractScript.Focus(); } }
private void LateUpdate() { if (initialized) { if (eventSystem && !eventSystem.IsPointerOverGameObject()) { if (Input.GetAxis("Mouse ScrollWheel") < 0f) { zLevel = Mathf.Min(GetMaxZoomLevel(), zLevel + 0.5F); Focus(transform.position); } else if (Input.GetAxis("Mouse ScrollWheel") > 0f) { zLevel = Mathf.Max(5, zLevel - 0.5F); Focus(transform.position); } } if (panning) { Pan(); } else if (core.IsMoving()) // lock camera { Focus(core.transform.position); } ProximityInteractScript.Focus(); MouseMovementVisualScript.Focus(); ReticleScript.instance.Focus(); } }