using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FPSInput : MonoBehaviour
{
public float speed = 6.0f;
public const float baseSpeed = 6.0f;
public float gravity = -9.6f;
private CharacterController _charController;
void Awake()
{
Messenger<float>.AddListener(GameEvent.SPEED_CHANGED, OnSpeedChanged);
}
void OnDestroy()
{
Messenger<float>.RemoveListener(GameEvent.SPEED_CHANGED, OnSpeedChanged);
}
private void OnSpeedChanged(float value)
{
speed = baseSpeed * value;
}
// Use this for initialization
void Start ()
{
_charController = GetComponent<CharacterController>();
}
// Update is called once per frame
void Update ()
{
float deltaX = Input.GetAxis("Horizontal") * speed;
float deltaZ = Input.GetAxis("Vertical") * speed;
Vector3 movement = new Vector3(deltaX, 0, deltaZ);
movement = Vector3.ClampMagnitude(movement, speed);
//movement = movement * Time.deltaTime;
movement = transform.TransformDirection(movement);
_charController.Move(movement);
movement.y = gravity;
/*transform.Translate(deltaX * Time.deltaTime, 0, deltaZ * Time.deltaTime);
/*Debug.Log(deltaX);
Debug.Log(deltaZ);
Debug.Log(Time.deltaTime);*/
}
}