Spaces:
Running
Running
File size: 1,147 Bytes
511a267 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #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();
};
|