Unreal Snake Game 1.0.0
SG_StartGameWidget.h
1// Snake Game, Copyright LifeEXE. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Blueprint/UserWidget.h"
7#include "SG_StartGameWidget.generated.h"
8
9class UButton;
10class UComboBoxString;
11
12UCLASS()
13class SNAKEGAME_API USG_StartGameWidget : public UUserWidget
14{
15 GENERATED_BODY()
16
17protected:
18 UPROPERTY(meta = (BindWidget))
19 TObjectPtr<UButton> StartGameButton;
20
21 UPROPERTY(meta = (BindWidget))
22 TObjectPtr<UButton> CloseGameButton;
23
24 UPROPERTY(meta = (BindWidget))
25 TObjectPtr<UComboBoxString> GameSpeedComboBox;
26
27 UPROPERTY(meta = (BindWidget))
28 TObjectPtr<UComboBoxString> GridSizeComboBox;
29
30 UPROPERTY(EditDefaultsOnly)
31 TSoftObjectPtr<UWorld> GameLevel;
32
33 virtual void NativeOnInitialized() override;
34
35private:
36 UFUNCTION()
37 void OnStartGame();
38
39 UFUNCTION()
40 void OnCloseGame();
41
42 UFUNCTION()
43 void OnSelectionChanged(FString SelectedItem, ESelectInfo::Type SelectionType);
44
45 void SaveSettings();
46
47 void InitComboBox(
48 const TObjectPtr<UComboBoxString>& ComboBox, TFunction<TArray<FString>()> OptionsGetter, TFunction<FString()> CurrentOptionGetter);
49};
Definition: SG_StartGameWidget.h:14