69 TMap<uint32, FUpdateBucket> ReplicationBuckets;
71 void UpdateBuckets(
float DeltaTime);
73 bool AddBucketObject(uint32 UpdateHTZ,
UObject* InObject, FName FunctionName);
74 bool AddBucketObject(uint32 UpdateHTZ, FDynamicBucketUpdateTickSignature &Delegate);
83 bool RemoveBucketObject(
UObject * ObjectToRemove, FName FunctionName);
84 bool RemoveBucketObject(FDynamicBucketUpdateTickSignature &DynEvent);
85 bool RemoveObjectFromAllBuckets(
UObject * ObjectToRemove);
87 bool IsObjectInBucket(
UObject * ObjectToRemove);
88 bool IsObjectFunctionInBucket(
UObject * ObjectToRemove, FName FunctionName);
89 bool IsObjectDelegateInBucket(FDynamicBucketUpdateTickSignature &DynEvent);
110 virtual bool DoesSupportWorldType(EWorldType::Type WorldType)
const override
112 return WorldType == EWorldType::Game || WorldType == EWorldType::PIE;
121 bool AddObjectToBucket(int32 UpdateHTZ,
UObject* InObject, FName FunctionName);
125 UFUNCTION(BlueprintCallable, meta = (
DisplayName =
"Add Object to Bucket Updates", ScriptName =
"AddObjectToBucket"), Category =
"BucketUpdateSubsystem")
126 bool K2_AddObjectToBucket(int32 UpdateHTZ = 100,
UObject* InObject =
nullptr, FName FunctionName = NAME_None);
128 UFUNCTION(BlueprintCallable, meta = (
DisplayName = "Add
Object to Bucket Updates by
Event", ScriptName = "AddBucketObjectEvent"), Category = "BucketUpdateSubsystem")
129 bool K2_AddObjectEventToBucket(UPARAM(
DisplayName = "
Event") FDynamicBucketUpdateTickSignature Delegate, int32 UpdateHTZ = 100);
132 UFUNCTION(BlueprintCallable, meta = (
DisplayName = "Remove
Object From Bucket Updates By
Function", ScriptName = "RemoveObjectFromBucketByFunction"), Category = "BucketUpdateSubsystem")
133 bool RemoveObjectFromBucketByFunctionName(
UObject* InObject =
nullptr, FName FunctionName = NAME_None);
136 UFUNCTION(BlueprintCallable, meta = (
DisplayName = "Remove
Object From Bucket Updates By
Event", ScriptName = "RemoveObjectFromBucketByEvent"), Category = "BucketUpdateSubsystem")
137 bool RemoveObjectFromBucketByEvent(UPARAM(
DisplayName = "
Event") FDynamicBucketUpdateTickSignature Delegate);
140 UFUNCTION(BlueprintCallable, meta = (
DisplayName = "Remove
Object From
All Bucket Updates", ScriptName = "RemoveObjectFromAllBuckets"), Category = "BucketUpdateSubsystem")
141 bool RemoveObjectFromAllBuckets(
UObject* InObject =
nullptr);
144 UFUNCTION(BlueprintCallable, meta = (
DisplayName = "Is
Object In Bucket", ScriptName = "IsObjectInBucket"), Category = "BucketUpdateSubsystem")
145 bool IsObjectFunctionInBucket(
UObject* InObject =
nullptr, FName FunctionName = NAME_None);
148 UFUNCTION(BlueprintPure, Category = "BucketUpdateSubsystem")
159 virtual
void Tick(
float DeltaTime) override;
160 virtual
bool IsTickable() const override;
161 virtual UWorld* GetTickableGameObjectWorld() const override;
162 virtual
bool IsTickableInEditor() const;
163 virtual
bool IsTickableWhenPaused() const override;
164 virtual ETickableTickType GetTickableTickType() const;
165 virtual TStatId GetStatId() const override;