// 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 TaskList; UPROPERTY(EditAnywhere, BlueprintReadWrite) FGoalsTaskData TempTask; UPROPERTY(EditAnywhere, BlueprintReadWrite) UGameUserWidget* GameUserWidget; UPROPERTY(EditAnywhere, BlueprintReadWrite) TArray 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 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> 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> GetCurrentRandomMeshes(); UFUNCTION(BlueprintPure) bool GetCurrentIsInfiniteCapture(); UFUNCTION(BlueprintPure) int GetCurrentCaptureNumber(); public: UFUNCTION(BlueprintImplementableEvent) void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData); };