UAutoMeshEngineSpawnComponent
UAutoMeshEngineSpawnComponent belongs to the AutoMesh Engine runtime module.
Occaecat ad sed pariatur esse dolor commodo esse esse laboris occaecat. Sit et excepteur occaecat adipiscing excepteur et ex adipiscing velit nisi aliqua nostrud aute. Do commodo aliquip in in ea enim commodo amet aliqua esse adipiscing reprehenderit. Incididunt aliqua tempor sit sint do consequat velit.
Declaration
1UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
2class AUTO_MESH_ENGINE_API UMyComponent : public UActorComponent
3{
4 GENERATED_BODY()
5
6public:
7 UMyComponent();
8
9 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
10 float UpdateInterval = 0.1f;
11
12 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
13 bool bAutoActivate = true;
14
15 UFUNCTION(BlueprintCallable, Category = "AutoMesh Engine")
16 void SetConfiguration(const FMyConfig& Config);
17
18protected:
19 virtual void BeginPlay() override;
20 virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
21
22private:
23 FMyConfig CurrentConfig;
24 float TimeSinceLastUpdate = 0.0f;
25};
Members
| Event | Parameters | Description |
|---|---|---|
| OnStateChanged | EMyState NewState | Fired when state transitions |
| OnProgressUpdated | float Progress, FString Message | Fired on progress change |
| OnError | FString ErrorMessage, int32 Code | Fired on error |
| OnInitialized | bool bSuccess | Fired after initialization |
Example
1// Declare delegates for event-driven communication
2DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
3DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);
4
5UPROPERTY(BlueprintAssignable, Category = "Events")
6FOnStateChanged OnStateChanged;
7
8UPROPERTY(BlueprintAssignable, Category = "Events")
9FOnProgressUpdated OnProgressUpdated;
10
11// Broadcasting events
12void UMyManager::UpdateState(EMyState NewState)
13{
14 CurrentState = NewState;
15 OnStateChanged.Broadcast(NewState);
16 OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
17}
Tip: For best performance, pre-allocate your pool size during loading screens rather than during gameplay.