Space Plunder
Loading...
Searching...
No Matches
MiniGameWidget.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Blueprint/UserWidget.h"
8#include "MiniGameWidget.generated.h"
9
13UCLASS()
14class INTERACTION_API UMiniGameWidget : public UUserWidget, public IMiniGame
15{
16 GENERATED_BODY()
17
18public:
19 virtual void Start() override;
20 virtual EMiniGameStatus Select() override;
21 virtual void Reset() override;
22 virtual float GetRetryDelay() const override {if(bCanRetry){return RetryDelay;}return -1.0f;};
23 virtual float GetRoundTime() const override{return RoundTime;};
24 virtual EMiniGameStatus GetResult() const override{return Result;};
25
26
27 void SetComplete(const bool bValue);
28 UFUNCTION(BlueprintCallable, Category="MiniGame")
29 void SetResult(const EMiniGameStatus Status);
30 void SetIntroComplete();
31
32 bool GetShouldShowIntro() const;
33
34
35 UFUNCTION(BlueprintNativeEvent, Category="MiniGame")
36 void StartIntro();
37 virtual void ProgressSelect();
38 UFUNCTION(BlueprintNativeEvent, Category="MiniGame")
39 void OnProgressSelect();
40
41 virtual bool StartMiniGame(const int32 Level);
42 UFUNCTION(BlueprintNativeEvent, Category="MiniGame")
43 bool ReceiveStartMiniGame(const int32 Level);
44 UFUNCTION(BlueprintImplementableEvent, Category="MiniGame", DisplayName="Start MiniGame")
45 void StartMiniGameEvent(const int32 Level);
46
47 UFUNCTION(BlueprintNativeEvent, Category="MiniGame")
48 void MiniGamePassed();
49 UFUNCTION(BlueprintNativeEvent, Category="MiniGame")
50 void MiniGameComplete(const EMiniGameStatus Status);
51
52
53protected:
54
55 virtual void NativeConstruct() override;
56 virtual void NativePreConstruct() override;
57
58 virtual void RoundOver();
59
60 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
61 bool bHasIntro = true;
62 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
63 bool bTimedMiniGame = true;
64 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
65 float RoundTime = 5.0f;
66 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
67 int32 Attempts = 3;
68 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
69 int32 Levels = 3;
70 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
71 bool bSkippable = false;
72 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
73 bool bCanRetry = false;
74 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="MiniGame|General")
75 float RetryDelay = 5.0f;
76
77
78 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
79 bool bComplete = false;
80 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
81 bool bShowIntro = true;
82 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
83 bool bIntroPlaying = false;
84 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
85 bool bWaiting = false;
86 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
88 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
89 int32 CurrentLevel = 1;
90 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="MiniGame|Status")
91 int32 CurrentAttempt = 1;
92
93
94private:
95
96 FTimerHandle RoundTimerHandle;
97
98};
99
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
EMiniGameStatus
Definition InteractionData.h:25
@ InProgress
Definition InteractionData.h:27
Definition MiniGame.h:21
Definition MiniGameWidget.h:15
virtual float GetRetryDelay() const override
Definition MiniGameWidget.h:22
virtual float GetRoundTime() const override
Definition MiniGameWidget.h:23
virtual EMiniGameStatus GetResult() const override
Definition MiniGameWidget.h:24