public void Fire() { CameraDataOrtho2D data = accessor.Get(); data.AnchorBetween(transformFirst.position, transformSecond.position); accessor.Set(data); }
// Interpolate. public static CameraDataOrtho2D Lerp(CameraDataOrtho2D a, CameraDataOrtho2D b, float t) { CameraDataOrtho2D result = new CameraDataOrtho2D(); result.position = Vector3.Lerp(a.position, b.position, t); result.orthographicSize = Mathf.Lerp(a.orthographicSize, b.orthographicSize, t); result.aspect = Mathf.Lerp(a.aspect, b.aspect, t); return(result); }
private void Start() { CameraDataOrtho2D cdo = new CameraDataOrtho2D(cam); Bounds bounds = rend.sprite.bounds; //bounds.size *= rend.transform.localScale; Vector3 result = bounds.size; result.x *= rend.transform.localScale.x; result.y *= rend.transform.localScale.y; result.z *= rend.transform.localScale.z; bounds.size = result; cdo.FitBounds(bounds); cdo.AssignTo(cam); }
private void FixedUpdate() { if (!interpolator.TimerIsRunning() && toFollow != null) { CameraDataOrtho2D data = accessor.Get(); if (toFollow.position.x > data.GetCoordinateRightEdge()) { data.OffsetPosition(Vector2.right * data.GetWidth()); interpolator.SetTargetValue(data, true); } else if (toFollow.position.x < data.GetCoordinateLeftEdge()) { data.OffsetPosition(Vector2.left * data.GetWidth()); interpolator.SetTargetValue(data, true); } } }
public static CameraDataOrtho2D SmoothStep(CameraDataOrtho2D a, CameraDataOrtho2D b, float t) { return(Lerp(a, b, Mathf.SmoothStep(0.0f, 1.0f, t))); }