#pragma once

#include "input.h"
#include "playercontroller.h"

namespace kek {

class DefaultPlayerController: public PlayerController {

  public:
	glm::vec3 gravity = glm::vec3(0, -9.81, 0);
	float minSlideAngle = 5;
	float maxWalkAngle = 60;
	float jumpVelocity = 3;
	float groundDistance = 0.01;
	float walkSpeed = 6;

	KeyBinding keyForward = KEK_INVALID_ID;
	KeyBinding keyBackward = KEK_INVALID_ID;
	KeyBinding keyLeft = KEK_INVALID_ID;
	KeyBinding keyRight = KEK_INVALID_ID;
	KeyBinding keyJump = KEK_INVALID_ID;

	glm::vec3 velocity = glm::vec3(0);

	DefaultPlayerController();
	virtual ~DefaultPlayerController();

	virtual glm::vec3 move(glm::vec3 movement);
	virtual void update();
};

}
