50 lines
918 B
C++
50 lines
918 B
C++
#include "KPlayerController.h"
|
|
|
|
#include "KGame.h"
|
|
#include "KInput.h"
|
|
|
|
namespace KapitanGame {
|
|
void KPlayerController::SetupInputBindings(KInput& input)
|
|
{
|
|
input.BindAxis("MoveY", shared_from_this(), &KPlayerController::MoveYAxis, Player);
|
|
input.BindAxis("MoveX", shared_from_this(), &KPlayerController::MoveXAxis, Player);
|
|
}
|
|
|
|
void KPlayerController::MoveYAxis(const float axis)
|
|
{
|
|
Input.Y += axis;
|
|
}
|
|
void KPlayerController::MoveXAxis(const float axis)
|
|
{
|
|
Input.X += axis;
|
|
}
|
|
|
|
void KPlayerController::Update(float deltaTime)
|
|
{
|
|
Input.Normalize();
|
|
if (Pawn != nullptr)
|
|
Pawn->AddMovementInput(Input);
|
|
Input *= 0;
|
|
}
|
|
|
|
void KPlayerController::NotifyWin() const
|
|
{
|
|
Game->Win(Player);
|
|
}
|
|
|
|
void KPlayerController::Possess(KPawn* pawn)
|
|
{
|
|
Pawn = pawn;
|
|
}
|
|
|
|
void KPlayerController::UnPossess()
|
|
{
|
|
Pawn = nullptr;
|
|
}
|
|
|
|
const KPlayer& KPlayerController::GetPlayer() const
|
|
{
|
|
return Player;
|
|
}
|
|
}
|