#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "CleanActor.generated.h"

UCLASS()
class MYGAME_API ACleanActor : public AActor
{
    GENERATED_BODY()

public:
    // GOOD: BlueprintCallable, not Exec
    UFUNCTION(BlueprintCallable)
    void SetHealth(int32 NewHealth);

    // GOOD: Replicated with condition
    UPROPERTY(ReplicatedUsing=OnRep_Health)
    int32 Health;

    UFUNCTION()
    void OnRep_Health();

protected:
    // GOOD: Asset reference via UPROPERTY
    UPROPERTY(EditDefaultsOnly)
    TSoftObjectPtr<UObject> SwordAsset;
};
