using UnityEngine; public class TestMovement : MonoBehaviour { public float time = 5; private bool enableMapMovement; private float mapMovementAngle; private OnlineMapsMarker userLocation; private Vector2 lastMapPosition; private void OnGUI() { if (GUILayout.Button("Move") && !enableMapMovement) MoveMapToUser(); } private void Start() { userLocation = OnlineMaps.instance.AddMarker(OnlineMaps.instance.position); } void Update() { if (enableMapMovement) { mapMovementAngle += Time.deltaTime / time; if (mapMovementAngle > 1) { OnlineMaps.instance.zoom = 17; enableMapMovement = false; mapMovementAngle = 1; } OnlineMaps.instance.position = Vector2.Lerp(lastMapPosition, userLocation.position, mapMovementAngle); OnlineMaps.instance.Redraw(); } } public void MoveMapToUser() { if (userLocation.inMapView && enableMapMovement == false) { lastMapPosition = OnlineMaps.instance.position; mapMovementAngle = 0; enableMapMovement = true; } else { OnlineMaps.instance.position = userLocation.position; OnlineMaps.instance.zoom = 17; OnlineMaps.instance.Redraw(); } } }