Fix bugs in animation queue handling, and add animation timeouts
This commit is contained in:
@@ -197,7 +197,7 @@ public:
|
||||
|
||||
// Convert an AnimQueue to an FString.
|
||||
//
|
||||
static FString DebugString(std::string_view s);
|
||||
// static FString DebugString(std::string_view s);
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////
|
||||
@@ -230,7 +230,7 @@ public:
|
||||
|
||||
// Convert an AnimStep to an FString.
|
||||
//
|
||||
static FString DebugString(bool injectidle, bool persistentonly, uint64 hash, std::string_view body);
|
||||
static FString DebugString(bool finished, uint64 hash, std::string_view body);
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////
|
||||
@@ -251,7 +251,7 @@ public:
|
||||
// store the hashes, not the steps. The First element
|
||||
// of the queue is the oldest item.
|
||||
//
|
||||
TDeque<FlxAnimationStep> AQ;
|
||||
TArray<FlxAnimationStep> AQ;
|
||||
|
||||
// True if something has recently changed.
|
||||
//
|
||||
@@ -319,6 +319,18 @@ public:
|
||||
//
|
||||
void SkipToEnd();
|
||||
|
||||
// Return the first unfinished animation.
|
||||
//
|
||||
const FlxAnimationStep *FirstUnfinished() const;
|
||||
|
||||
// Return the last finished animation.
|
||||
//
|
||||
const FlxAnimationStep *LastFinished() const;
|
||||
|
||||
// Return the first animation with the specified hash.
|
||||
//
|
||||
const FlxAnimationStep *FindAnimation(uint64 hash) const;
|
||||
|
||||
// Clear the 'Changed' flag.
|
||||
//
|
||||
void ClearChanged() { Changed = false; }
|
||||
@@ -331,4 +343,8 @@ public:
|
||||
// The changed flag can only be set to false by 'ClearChanged,' above.
|
||||
//
|
||||
bool IsChanged() const { return Changed; }
|
||||
|
||||
// Return a debug string for the entire animation tracker.
|
||||
//
|
||||
FString DebugString() const;
|
||||
};
|
||||
Reference in New Issue
Block a user