More refactoring of scripted animations: Tangibles now contain ScriptedAnimation pointers.

This commit is contained in:
2025-10-15 18:08:30 -04:00
parent fbe2b7a45a
commit 23d8e8684d
5 changed files with 46 additions and 21 deletions

View File

@@ -5,6 +5,7 @@
#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "AnimQueue.h"
#include "ScriptedAnimation.h"
#include "Tangible.generated.h"
@@ -45,7 +46,7 @@ public:
// The tangible ID.
UPROPERTY()
uint64 TangibleId;
uint64 TangibleId = 0;
UPROPERTY()
TWeakObjectPtr<AActor> CurrentActor;
@@ -54,23 +55,27 @@ public:
UPROPERTY()
FString ActorBlueprintName;
// This is
UPROPERTY()
UlxScriptedAnimations *ScriptedAnimations = nullptr;
// Animation tracker
FlxAnimTracker AnimTracker;
// Animation that is waiting to be finished.
uint64 PendingAnimationHash;
uint64 PendingAnimationHash = 0;
// When do we timeout the pending animation.
double PendingAnimationTimeout;
double PendingAnimationTimeout = 0.0;
// Current Plane.
FName Plane;
// True if luprex thinks this object is Near the player.
bool NearAccordingToLuprex;
bool NearAccordingToLuprex = false;
// True if unreal thinks this object is Near the player.
bool NearAccordingToUnreal;
bool NearAccordingToUnreal = false;
// Delete the current actor.
//
@@ -157,6 +162,9 @@ public:
UFUNCTION(BlueprintCallable, Meta = (DefaultToSelf = "Target", ExpandBoolAsExecs="ReturnValue"), Category = "Luprex|Animation Queue")
static bool AnimationStepIsFinished(AActor *Target, const FlxAnimationStep &Step);
UFUNCTION(BlueprintPure, Meta = (DefaultToSelf = "Target"), Category = "Luprex|Scripted Animations")
static UlxScriptedAnimations *GetScriptedAnimations(AActor *Target);
UFUNCTION(BlueprintCallable, Meta = (DefaultToSelf = "target"), Category = "Luprex|Tangible")
static FString GetTangiblePlane(AActor* target);