More work on tangibleCharacter, especially thread synch stuff

This commit is contained in:
2024-02-13 16:49:58 -05:00
parent d11fbca815
commit abb967f20b
7 changed files with 121 additions and 69 deletions

View File

@@ -42,8 +42,11 @@ public:
UFUNCTION(BlueprintCallable, Category = "Luprex")
int64 GetPlayerId();
UFUNCTION(BlueprintCallable, Category = "Luprex")
void InvokeEngioMove(const FString &action, const FVector &xyz);
// Execute a debugging command, typed on the GUI.
void ExecuteDebuggingCommand(const FString &fs);
void ExecuteDebuggingCommand(FlxLockedWrapper &w, const FString &fs);
// Transfer console output from the Luprex engine to unreal.
void UpdateConsoleOutput();
@@ -51,8 +54,9 @@ public:
// Update the tangibles according to what Luprex tells us.
void UpdateTangibles();
// Trigger the update task, if enough time has passed.
void MaybeTriggerUpdateTask(float deltaseconds);
// Pre-tick and post-tick functions.
void OnWorldPreActorTick(UWorld* InWorld, ELevelTick InLevelTick, float InDeltaSeconds);
void OnWorldPostActorTick(UWorld* InWorld, ELevelTick InLevelTick, float InDeltaSeconds);
// The run function is called by a background thread
// to update luprex sockets and update luprex itself.
@@ -83,9 +87,10 @@ public:
// Amount of elapsed time since BeginPlay.
float EngineSeconds;
// When do we next trigger the thread event.
float NextThreadTrigger;
// When do we next rotate the cube.
float NextRotateCube;
// These allow us to pre-tick and post-tick.
FDelegateHandle OnWorldPreActorTickHandle;
FDelegateHandle OnWorldPostActorTickHandle;
};