LuckyRobotsUnreal/Source/Luckyrobots/Public/LuckyRobotsGameInstance.h
martinluckyrobots 2b78176ac3 Optimize some gameinstance codes
2025-04-05 13:32:00 +08:00

234 lines
5.6 KiB
C++

// 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"
class USIOJsonValue;
class UGameUserWidget;
/**
*
*/
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 FolderCount;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
FTransform TargetPosition;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture")
FCaptureSettingsData CurrentCaptureSettingsData;
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Random Mesh")
bool bIsRandomPannel;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Random Mesh")
bool bIsRandomRobotPosition;
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
ERobotsName CurrentSelectRobot = ERobotsName::None;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
ELevelEnum CurrentSelectLevel = ELevelEnum::None;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
EQualityEnum CurrentSelectQuality = EQualityEnum::Epic;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FGoalsTaskData> TaskList;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FGoalsTaskData TempTask;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UGameUserWidget* GameUserWidget;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
TArray<FLuckyCode> LuckyCodeList;
public:
UFUNCTION(BlueprintCallable)
void DoSendMessage(FString SendValue);
UFUNCTION(BlueprintCallable)
void DoLogItemAdd(FString Topic, FString MsgText, ELogItemType LogItemType);
UFUNCTION(BlueprintCallable)
void SwitchGamePaused();
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();
UFUNCTION(BlueprintCallable)
void DoSetTempTaskValueChange(bool IsClear);
public:
UFUNCTION(BlueprintCallable)
void SetCurrentFolderName(FString FolderName);
UFUNCTION(BlueprintCallable)
void SetCurrentFileName(FString FileName);
UFUNCTION(BlueprintCallable)
void SetCurrentWritesPerSec(int WritesPerSec);
UFUNCTION(BlueprintCallable)
void SetCurrentIsScenario(bool IsScenario);
UFUNCTION(BlueprintCallable)
void SetCurrentIsRandomLight(bool bLight);
UFUNCTION(BlueprintCallable)
void SetCurrentIsRandomMaterials(bool bMaterials);
UFUNCTION(BlueprintCallable)
void SetCurrentIsRandomRobotPosition(bool bRobotPosition);
UFUNCTION(BlueprintCallable)
void SetCurrentIsRandomPets(bool bPets);
UFUNCTION(BlueprintCallable)
void SetCurrentPetsNumber(int PetsNumber);
UFUNCTION(BlueprintCallable)
void SetCurrentIsRandomPeople(bool bPeople);
UFUNCTION(BlueprintCallable)
void SetCurrentPeopleNumber(int PeopleNumber);
UFUNCTION(BlueprintCallable)
void SetCurrentIsRandomObjects(bool bObjects);
UFUNCTION(BlueprintCallable)
void SetCurrentObjectsNumber(int ObjectsNumber);
UFUNCTION(BlueprintCallable)
void SetCurrentRandomMeshes(TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes);
UFUNCTION(BlueprintCallable)
void SetCurrentIsInfiniteCapture(bool bInfiniteCapture);
UFUNCTION(BlueprintCallable)
void SetCurrentCaptureNumber(int CaptureNumber);
public:
UFUNCTION(BlueprintPure)
FString GetCurrentFolderName();
UFUNCTION(BlueprintPure)
FString GetCurrentFileName();
UFUNCTION(BlueprintPure)
int GetCurrentWritesPerSec();
UFUNCTION(BlueprintPure)
bool GetCurrentIsScenario();
UFUNCTION(BlueprintPure)
bool GetCurrentIsRandomLight();
UFUNCTION(BlueprintPure)
bool GetCurrentIsRandomMaterials();
UFUNCTION(BlueprintPure)
bool GetCurrentIsRandomRobotPosition();
UFUNCTION(BlueprintPure)
bool GetCurrentIsRandomPets();
UFUNCTION(BlueprintPure)
int GetCurrentPetsNumber();
UFUNCTION(BlueprintPure)
bool GetCurrentIsRandomPeople();
UFUNCTION(BlueprintPure)
int GetCurrentPeopleNumber();
UFUNCTION(BlueprintPure)
bool GetCurrentIsRandomObjects();
UFUNCTION(BlueprintPure)
int GetCurrentObjectsNumber();
UFUNCTION(BlueprintPure)
TArray<TSoftObjectPtr<UStaticMeshComponent>> GetCurrentRandomMeshes();
UFUNCTION(BlueprintPure)
bool GetCurrentIsInfiniteCapture();
UFUNCTION(BlueprintPure)
int GetCurrentCaptureNumber();
public:
UFUNCTION(BlueprintImplementableEvent)
void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData);
};