// Copyright Pacificao. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Blueprint/UserWidget.h" #include "AgrarianDemoNoticeWidget.generated.h" UCLASS() class AGRARIANGAME_API UAgrarianDemoNoticeWidget : public UUserWidget { GENERATED_BODY() public: virtual void NativeConstruct() override; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") FText Motto = FText::FromString(TEXT("What survives after you are gone?")); UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") FText VersionLabel = FText::FromString(TEXT("Investor Demo v0.1.H - Build 2026.05.17")); UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") FText DemoNotice = FText::FromString(TEXT("Beta prototype build - not for public distribution")); UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Agrarian|Demo") FText CopyrightNotice = FText::FromString(TEXT("Copyright (c) 2026 Agrarian Studio. All rights reserved.")); protected: virtual int32 NativePaint( const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override; private: float CreditsStartTimeSeconds = 0.0f; void DrawCenteredText( FSlateWindowElementList& OutDrawElements, int32& LayerId, const FGeometry& AllottedGeometry, const FText& Text, float Y, const FSlateFontInfo& Font, const FLinearColor& Color) const; void DrawTextAt( FSlateWindowElementList& OutDrawElements, int32& LayerId, const FGeometry& AllottedGeometry, const FText& Text, const FVector2D& Position, float Width, const FSlateFontInfo& Font, const FLinearColor& Color) const; void DrawCinematicCredits( FSlateWindowElementList& OutDrawElements, int32& LayerId, const FGeometry& AllottedGeometry) const; void DrawCreditIllustration( FSlateWindowElementList& OutDrawElements, int32& LayerId, const FGeometry& AllottedGeometry, const FVector2D& Position, const FVector2D& Size, int32 IllustrationIndex, const FLinearColor& AccentColor, float Alpha) const; };