// Copyright Pacificao. All Rights Reserved.

#pragma once

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

class UAgrarianDemoNoticeWidget;

UCLASS()
class AGRARIANGAME_API AAgrarianDemoNoticeActor : public AActor
{
	GENERATED_BODY()

public:
	AAgrarianDemoNoticeActor();

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo")
	TSubclassOf<UAgrarianDemoNoticeWidget> NoticeWidgetClass;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo", meta = (ClampMin = "1.0"))
	float NoticeDurationSeconds = 24.0f;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo")
	FText VersionLabel = FText::FromString(TEXT("Investor Demo v0.1.L - Build 2026.05.18"));

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo")
	FText DemoNotice = FText::FromString(TEXT("Beta prototype build - not for public distribution"));

protected:
	virtual void BeginPlay() override;

private:
	UPROPERTY()
	TObjectPtr<UAgrarianDemoNoticeWidget> ActiveNoticeWidget;

	FTimerHandle RemoveNoticeTimerHandle;

	void RemoveNotice();
};
