﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Arugula.Input;

public class DollyCamera : MonoBehaviour
{
    public float speed;
    public Vector3 min;
    public Vector3 max;

    Vector3 direction;
    Vector3 goalDirection;
    Vector3 goalPosition;
    // Start is called before the first frame update
    void Start()
    {
        //PadInput.OnAnyStickMoved += PadInput_OnAnyStickMoved;
        goalPosition = transform.localPosition;
    }

    //private void PadInput_OnAnyStickMoved(PadInput.Device device, PadInput.Device.Stick stick)
    //{
    //    goalDirection.x = stick.X;
    //    goalDirection.z = stick.Y;
    //    if (goalDirection.magnitude > 1)
    //        goalDirection.Normalize();
    //}

    // Update is called once per frame
    void FixedUpdate()
    {
        direction = Vector3.Lerp(direction, goalDirection, Time.deltaTime * 10);
        goalPosition += direction * speed * Time.deltaTime;

        goalPosition.x = Mathf.Clamp(goalPosition.x, min.x, max.x);
        goalPosition.y = Mathf.Clamp(goalPosition.y, min.y, max.y);
        goalPosition.z = Mathf.Clamp(goalPosition.z, min.z, max.z);

        transform.localPosition = Vector3.Lerp(transform.localPosition, goalPosition, Time.deltaTime * 10);
    }
}
