singularity1 / native /unreal /Source /Singularity /SingularityRolePlayerController.h
sankalphs's picture
Deploy browser app plus Blender and Unreal handoff
511a267 verified
Raw History Blame Contribute Delete
1.15 kB
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/PlayerController.h"
#include "SingularityRoleTypes.h"
#include "SingularityRolePlayerController.generated.h"
class USingularitySpacetimeBridge;
/** Sends only the local role's bounded input to the shared bridge. */
UCLASS()
class SINGULARITY_API ASingularityRolePlayerController : public APlayerController
{
GENERATED_BODY()
public:
ASingularityRolePlayerController();
virtual void BeginPlay() override;
virtual void SetupInputComponent() override;
virtual void Tick(float DeltaSeconds) override;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Singularity|Role")
ESingularityBodyRole ControlledRole = ESingularityBodyRole::EyesHead;
UPROPERTY(BlueprintReadOnly, Category = "Singularity|Role")
TObjectPtr<USingularitySpacetimeBridge> SpacetimeBridge;
private:
float MoveX = 0.0f;
float MoveZ = 0.0f;
bool bAction = false;
int64 ClientTick = 0;
float SendAccumulator = 0.0f;
void HandleMoveX(float Value);
void HandleMoveZ(float Value);
void HandleActionPressed();
void HandleActionReleased();
};