LuckyRobotsUnreal/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h

129 lines
3.2 KiB
C
Raw Normal View History

2025-03-30 11:46:50 +08:00
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Engine/GameInstance.h"
#include "SharedDef.h"
#include "LuckyRobotsGameInstance.generated.h"
2025-04-01 11:04:11 +08:00
class USIOJsonValue;
2025-04-03 10:13:55 +08:00
class UGameUserWidget;
2025-03-30 11:46:50 +08:00
/**
*
*/
UCLASS()
class LUCKYROBOTS_API ULuckyRobotsGameInstance : public UGameInstance
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* RobotDataDataTable;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config")
UDataTable* LevelDataTable;
//public:
// bool bIsFirstOpenGame;
//
// bool bIsDebug;
// bool bIsWidgetTestMode;
// bool bIsShowPath;
//
//public:
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// bool bIsCapture;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// bool bIsCaptureHand;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// bool bIsCaptureHead;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// bool bScenarioCapture;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// bool bIsMouseOpen;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// bool bIschange;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// int PerSecond;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// FTransform TargetPosition;
//
// UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
// FCaptureSettingsData CaptureSettingsData;
//
2025-03-30 11:46:50 +08:00
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
2025-04-01 11:04:11 +08:00
ERobotsName CurrentSelectRobot = ERobotsName::None;
2025-03-30 11:46:50 +08:00
UPROPERTY(EditAnywhere, BlueprintReadWrite)
2025-04-01 11:04:11 +08:00
ELevelEnum CurrentSelectLevel = ELevelEnum::None;
2025-03-30 11:46:50 +08:00
UPROPERTY(EditAnywhere, BlueprintReadWrite)
2025-04-01 11:04:11 +08:00
EQualityEnum CurrentSelectQuality = EQualityEnum::Epic;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FGoalsTaskData> TaskList;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FGoalsTaskData TempTask;
2025-04-03 10:13:55 +08:00
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UGameUserWidget* GameUserWidget;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FLuckyCode> LuckyCodeList;
2025-04-01 11:04:11 +08:00
public:
2025-04-03 10:13:55 +08:00
UFUNCTION(BlueprintCallable)
void DoSendMessage(FString SendValue);
UFUNCTION(BlueprintCallable)
void DoLogItemAdd(FString Topic, FString MsgText, ELogItemType LogItemType);
2025-04-03 10:13:55 +08:00
UFUNCTION(BlueprintCallable)
void SwitchGamePaused();
2025-04-03 10:13:55 +08:00
public:
UFUNCTION(BlueprintCallable)
void ClearTaskList();
UFUNCTION(BlueprintCallable)
void AddTask(FGoalsTaskData TaskData);
UFUNCTION(BlueprintCallable)
void RemoveTask(FGoalsTaskData TaskData);
UFUNCTION(BlueprintCallable)
void RemoveTaskByGoalType(EGoalType GoalType);
UFUNCTION(BlueprintPure)
int GetTaskNum();
UFUNCTION(BlueprintCallable)
void SetTask(int Index, FGoalsTaskData TaskData);
UFUNCTION(BlueprintCallable)
bool GetTask(int Index, FGoalsTaskData& TaskData);
UFUNCTION(BlueprintCallable)
void ReSetTaskList();
UFUNCTION(BlueprintPure)
TArray<FGoalsTaskData> GetTaskList();
2025-04-03 10:13:55 +08:00
UFUNCTION(BlueprintCallable)
void DoSetTempTaskValueChange(bool IsClear);
public:
UFUNCTION(BlueprintImplementableEvent)
void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData);
2025-03-30 11:46:50 +08:00
};