using BitStrap; using UnityEngine; public class PositionToCameraDistance : MonoBehaviour { public Vector2 positionMinMax = new Vector2(0f, 0f); public Vector2 distanceMinMax = new Vector2(0f, 100f); [HideInInspector] public Transform cameraTransform; [ReadOnly] public Vector3 startGlobalPosition = Vector3.zero; [ReadOnly] public Vector3 startLocalPosition = Vector3.zero; [ReadOnly] public float distance; [ReadOnly] public float distanceMinMaxDiff; private void Start() { startGlobalPosition = base.transform.position; startLocalPosition = base.transform.localPosition; distanceMinMaxDiff = distanceMinMax.y - distanceMinMax.x; cameraTransform = GameController.Instance.fishingPlayer.ufpsCamera.transform; } private void Update() { distance = Vector3.Distance(startGlobalPosition, cameraTransform.position); if (distance > distanceMinMax.x) { Vector3 localPosition = base.transform.localPosition; localPosition.x = startLocalPosition.x - Mathf.Lerp(positionMinMax.x, positionMinMax.y, (distance - distanceMinMax.x) / distanceMinMaxDiff); base.transform.localPosition = localPosition; } else { base.transform.position = startGlobalPosition; } } }