October3d55/M/PICOXRPlugin/Source/PICOXRInput/Private/PXR_PICOXRPawn.cpp

384 lines
11 KiB
C++

// Copyright PICO Technology Co., Ltd. All rights reserved.
// This plugin incorporates portions of the Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere.
// Copyright Epic Games, Inc. All Rights Reserved.
#include "PXR_PICOXRPawn.h"
#include "PXR_HMDRuntimeSettings.h"
#include "Components/InputComponent.h"
// Sets default values
APXR_PICOXRPawn::APXR_PICOXRPawn()
{
// Set this pawn to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
}
// Called when the game starts or when spawned
void APXR_PICOXRPawn::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void APXR_PICOXRPawn::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
// Called to bind functionality to input
void APXR_PICOXRPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
UPICOXRSettings* Settings = GetMutableDefault<UPICOXRSettings>();
if(Settings->IsValidLowLevel()&&Settings->bEnableAutoKeyMapping)
{
// This component belongs to the possessing Player Controller
InputComponent->BindAction("ButtonA", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonAPressed);
InputComponent->BindAction("ButtonA", IE_Released, this, &APXR_PICOXRPawn::ClickButtonAReleased);
InputComponent->BindAction("ButtonB", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonBPressed);
InputComponent->BindAction("ButtonB", IE_Released, this, &APXR_PICOXRPawn::ClickButtonBReleased);
InputComponent->BindAction("ButtonX", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonXPressed);
InputComponent->BindAction("ButtonX", IE_Released, this, &APXR_PICOXRPawn::ClickButtonXReleased);
InputComponent->BindAction("ButtonY", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonYPressed);
InputComponent->BindAction("ButtonY", IE_Released, this, &APXR_PICOXRPawn::ClickButtonYReleased);
InputComponent->BindAction("ButtonLeftGrip", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonLeftGripPressed);
InputComponent->BindAction("ButtonLeftGrip", IE_Released, this, &APXR_PICOXRPawn::ClickButtonLeftGripReleased);
InputComponent->BindAction("ButtonLeftTrigger", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonLeftTriggerPressed);
InputComponent->BindAction("ButtonLeftTrigger", IE_Released, this, &APXR_PICOXRPawn::ClickButtonLeftTriggerReleased);
// This component belongs to the possessing Player Controller
InputComponent->BindAction("ButtonATouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonATouchedPressed);
InputComponent->BindAction("ButtonATouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonATouchedReleased);
InputComponent->BindAction("ButtonBTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonBTouchedPressed);
InputComponent->BindAction("ButtonBTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonBTouchedReleased);
InputComponent->BindAction("ButtonXTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonXTouchedPressed);
InputComponent->BindAction("ButtonXTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonXTouchedReleased);
InputComponent->BindAction("ButtonYTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonYTouchedPressed);
InputComponent->BindAction("ButtonYTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonYTouchedReleased);
InputComponent->BindAction("ButtonLeftTriggerTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonLeftTriggerTouchedPressed);
InputComponent->BindAction("ButtonLeftTriggerTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonLeftTriggerTouchedReleased);
InputComponent->BindAction("ButtonRightTrigger", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonRightTriggerPressed);
InputComponent->BindAction("ButtonRightTrigger", IE_Released, this, &APXR_PICOXRPawn::ClickButtonRightTriggerReleased);
InputComponent->BindAction("ButtonRightTriggerTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonRightTriggerTouchedPressed);
InputComponent->BindAction("ButtonRightTriggerTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonRightTriggerTouchedReleased);
InputComponent->BindAction("ButtonLeftHome", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonLeftHomePressed);
InputComponent->BindAction("ButtonLeftHome", IE_Released, this, &APXR_PICOXRPawn::ClickButtonLeftHomeReleased);
InputComponent->BindAction("ButtonLeftMenu", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonLeftMenuPressed);
InputComponent->BindAction("ButtonLeftMenu", IE_Released, this, &APXR_PICOXRPawn::ClickButtonLeftMenuReleased);
InputComponent->BindAction("ButtonRightGrip", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonRightGripPressed);
InputComponent->BindAction("ButtonRightGrip", IE_Released, this, &APXR_PICOXRPawn::ClickButtonRightGripReleased);
InputComponent->BindAction("ButtonRightHome", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonRightHomePressed);
InputComponent->BindAction("ButtonRightHome", IE_Released, this, &APXR_PICOXRPawn::ClickButtonRightHomeReleased);
InputComponent->BindAction("ButtonRightSystem", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonRightSystemPressed);
InputComponent->BindAction("ButtonRightSystem", IE_Released, this, &APXR_PICOXRPawn::ClickButtonRightSystemReleased);
InputComponent->BindAction("LeftJoyStickTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonLeftJoyStickTouchedPressed);
InputComponent->BindAction("LeftJoyStickTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonLeftJoyStickTouchedReleased);
InputComponent->BindAction("RightJoyStickTouched", IE_Pressed, this, &APXR_PICOXRPawn::ClickButtonRightJoyStickTouchedPressed);
InputComponent->BindAction("RightJoyStickTouched", IE_Released, this, &APXR_PICOXRPawn::ClickButtonRightJoyStickTouchedReleased);
InputComponent->BindAxis("LeftTriggerAxis", this, &APXR_PICOXRPawn::LeftTriggerAxisVal);
InputComponent->BindAxis("LeftGripAxis", this, &APXR_PICOXRPawn::LeftGripAxisVal);
InputComponent->BindAxis("RightTriggerAxis", this, &APXR_PICOXRPawn::RightTriggerAxisVal);
InputComponent->BindAxis("RightGripAxis", this, &APXR_PICOXRPawn::RightGripAxisVal);
InputComponent->BindAxis("LeftJoyStickXAxis", this, &APXR_PICOXRPawn::LeftJoyStickXVal);
InputComponent->BindAxis("LeftJoyStickYAxis", this, &APXR_PICOXRPawn::LeftJoyStickYVal);
InputComponent->BindAxis("RightJoyStickXAxis", this, &APXR_PICOXRPawn::RightJoyStickXVal);
InputComponent->BindAxis("RightJoyStickYAxis", this, &APXR_PICOXRPawn::RightJoyStickYVal);
}
}
void APXR_PICOXRPawn::ClickButtonAPressed()
{
this->AButtonPressed=true;
}
void APXR_PICOXRPawn::ClickButtonAReleased()
{
this->AButtonPressed=false;
}
void APXR_PICOXRPawn::ClickButtonBPressed()
{
this->BButtonPressed=true;
}
void APXR_PICOXRPawn::ClickButtonBReleased()
{
this->BButtonPressed=false;
}
void APXR_PICOXRPawn::ClickButtonXPressed()
{
this->XButtonPressed=true;
}
void APXR_PICOXRPawn::ClickButtonXReleased()
{
this->XButtonPressed=false;
}
void APXR_PICOXRPawn::ClickButtonYPressed()
{
this->YButtonPressed=true;
}
void APXR_PICOXRPawn::ClickButtonYReleased()
{
this->YButtonPressed=false;
}
void APXR_PICOXRPawn::ClickButtonATouchedPressed()
{
this->AButtonTouched=true;
}
void APXR_PICOXRPawn::ClickButtonATouchedReleased()
{
this->AButtonTouched=false;
}
void APXR_PICOXRPawn::ClickButtonBTouchedPressed()
{
this->BButtonTouched=true;
}
void APXR_PICOXRPawn::ClickButtonBTouchedReleased()
{
this->BButtonTouched=false;
}
void APXR_PICOXRPawn::ClickButtonXTouchedPressed()
{
this->XButtonTouched=true;
}
void APXR_PICOXRPawn::ClickButtonXTouchedReleased()
{
this->XButtonTouched=false;
}
void APXR_PICOXRPawn::ClickButtonYTouchedPressed()
{
this->YButtonTouched=true;
}
void APXR_PICOXRPawn::ClickButtonYTouchedReleased()
{
this->YButtonTouched=false;
}
void APXR_PICOXRPawn::ClickButtonLeftHomePressed()
{
this->LeftHomePressed=true;
}
void APXR_PICOXRPawn::ClickButtonLeftHomeReleased()
{
this->LeftHomePressed=false;
}
void APXR_PICOXRPawn::ClickButtonLeftMenuPressed()
{
this->LeftMenuPressed=true;
}
void APXR_PICOXRPawn::ClickButtonLeftMenuReleased()
{
this->LeftMenuPressed=false;
}
void APXR_PICOXRPawn::ClickButtonRightHomePressed()
{
this->RightHomePressed=true;
}
void APXR_PICOXRPawn::ClickButtonRightHomeReleased()
{
this->RightHomePressed=false;
}
void APXR_PICOXRPawn::ClickButtonRightSystemPressed()
{
this->RightSystemPressed=true;
}
void APXR_PICOXRPawn::ClickButtonRightSystemReleased()
{
this->RightSystemPressed=false;
}
void APXR_PICOXRPawn::ClickButtonLeftTriggerPressed()
{
this->LeftTriggerPressed=true;
}
void APXR_PICOXRPawn::ClickButtonLeftTriggerReleased()
{
this->LeftTriggerPressed=false;
}
void APXR_PICOXRPawn::ClickButtonLeftGripPressed()
{
this->LeftGripPressed=true;
}
void APXR_PICOXRPawn::ClickButtonLeftGripReleased()
{
this->LeftGripPressed=false;
}
void APXR_PICOXRPawn::ClickButtonRightTriggerPressed()
{
this->RightTriggerPressed=true;
}
void APXR_PICOXRPawn::ClickButtonRightTriggerReleased()
{
this->RightTriggerPressed=false;
}
void APXR_PICOXRPawn::ClickButtonRightGripPressed()
{
this->RightGripPressed=true;
}
void APXR_PICOXRPawn::ClickButtonRightGripReleased()
{
this->RightGripPressed=false;
}
void APXR_PICOXRPawn::ClickButtonLeftTriggerTouchedPressed()
{
this->LeftTriggerTouched =true;
}
void APXR_PICOXRPawn::ClickButtonLeftTriggerTouchedReleased()
{
this->LeftTriggerTouched =false;
}
void APXR_PICOXRPawn::ClickButtonLeftGripTouchedPressed()
{
this->LeftGripTouched =true;
}
void APXR_PICOXRPawn::ClickButtonLeftGripTouchedReleased()
{
this->LeftGripTouched =false;
}
void APXR_PICOXRPawn::ClickButtonRightTriggerTouchedPressed()
{
this->RightTriggerTouched=true;
}
void APXR_PICOXRPawn::ClickButtonRightTriggerTouchedReleased()
{
this->RightTriggerTouched=false;
}
void APXR_PICOXRPawn::ClickButtonRightGripTouchedPressed()
{
this->RightGripTouched =true;
}
void APXR_PICOXRPawn::ClickButtonRightGripTouchedReleased()
{
this->RightGripTouched =false;
}
void APXR_PICOXRPawn::ClickButtonRightJoyStickTouchedPressed()
{
this->RightJoyStickTouched =true;
}
void APXR_PICOXRPawn::ClickButtonRightJoyStickTouchedReleased()
{
this->RightJoyStickTouched =false;
}
void APXR_PICOXRPawn::ClickButtonLeftJoyStickTouchedPressed()
{
this->LeftJoyStickTouched =true;
}
void APXR_PICOXRPawn::ClickButtonLeftJoyStickTouchedReleased()
{
this->LeftJoyStickTouched =false;
}
void APXR_PICOXRPawn::LeftTriggerAxisVal(float Val)
{
this->LeftTriggerAxis=Val;
}
void APXR_PICOXRPawn::LeftGripAxisVal(float Val)
{
this->LeftGripAxis=Val;
}
void APXR_PICOXRPawn::LeftJoyStickXVal(float Val)
{
this->LeftJoyStickXAxis=Val;
}
void APXR_PICOXRPawn::LeftJoyStickYVal(float Val)
{
this->LeftJoyStickYAxis=Val;
}
void APXR_PICOXRPawn::RightTriggerAxisVal(float Val)
{
this->RightTriggerAxis=Val;
}
void APXR_PICOXRPawn::RightGripAxisVal(float Val)
{
this->RightGripAxis=Val;
}
void APXR_PICOXRPawn::RightJoyStickXVal(float Val)
{
this->RightJoyStickXAxis=Val;
}
void APXR_PICOXRPawn::RightJoyStickYVal(float Val)
{
this->RightJoyStickYAxis=Val;
}