2dkg/2dgk_7/2dgk_7/KPlayerController.cpp
2021-12-12 13:40:09 +01:00

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;
}
}