// 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; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") UDataTable* FurnitureDataTable; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") UDataTable* DecorationDataTable; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") UDataTable* KitchenwareDataTable; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") UDataTable* ElectronicsDataTable; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") UDataTable* BathroomDataTable; public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Config") TArray AlphabetForRandomList; public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Resulation") bool bIsFirstOpenGame; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WebSocket") bool bIsStartConnect; UPROPERTY(EditAnywhere, BlueprintReadWrite) ESaveDataType SelectSaveDataType; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bIsDebug; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bIsWidgetTestMode; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bIsShowPath; UPROPERTY(EditAnywhere, BlueprintReadWrite) int32 WidgetTotalHit; UPROPERTY(EditAnywhere, BlueprintReadWrite) bool bInfiniteTime; UPROPERTY(EditAnywhere, BlueprintReadWrite) float FastEndTaskTime = 180.0f; 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 bIsChanged; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Capture") int32 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(const FString& SendValue); UFUNCTION(BlueprintCallable) void DoLogItemAdd(const FString& Topic, const FString& MsgText, ELogItemType LogItemType); UFUNCTION(BlueprintCallable) void SwitchGamePaused(); public: UFUNCTION(BlueprintCallable) void ClearTaskList(); UFUNCTION(BlueprintCallable) void AddTask(const FGoalsTaskData& TaskData); UFUNCTION(BlueprintCallable) void RemoveTask(const FGoalsTaskData& TaskData); UFUNCTION(BlueprintCallable) void RemoveTaskByGoalType(EGoalType GoalType); UFUNCTION(BlueprintPure) int32 GetTaskNum() const; UFUNCTION(BlueprintCallable) void SetTask(int32 Index, const FGoalsTaskData& TaskData); UFUNCTION(BlueprintCallable) bool GetTask(int32 Index, FGoalsTaskData& OutTaskData) const; UFUNCTION(BlueprintCallable) void ReSetTaskList(); UFUNCTION(BlueprintPure) TArray GetTaskList() const; UFUNCTION(BlueprintCallable) void DoSetTempTaskValueChange(bool bIsClear); UFUNCTION(BlueprintCallable, Category = "Resolution") void DoResolutionChange(bool bIsFullscreen); UFUNCTION(BlueprintCallable) FString DoRandomString(FString StartString); UFUNCTION(BlueprintCallable) void UpdateQualitySettings(); UFUNCTION(BlueprintCallable) void DoQualitySettings(int32 Quality, bool Auto); public: UFUNCTION(BlueprintCallable) void SetCurrentFolderName(const FString& FolderName); UFUNCTION(BlueprintCallable) void SetCurrentFileName(const FString& FileName); UFUNCTION(BlueprintCallable) void SetCurrentWritesPerSec(int32 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(int32 PetsNumber); UFUNCTION(BlueprintCallable) void SetCurrentIsRandomPeople(bool bPeople); UFUNCTION(BlueprintCallable) void SetCurrentPeopleNumber(int32 PeopleNumber); UFUNCTION(BlueprintCallable) void SetCurrentIsRandomObjects(bool bObjects); UFUNCTION(BlueprintCallable) void SetCurrentObjectsNumber(int32 ObjectsNumber); UFUNCTION(BlueprintCallable) void SetCurrentRandomMeshes(const TArray>& RandomMeshes); UFUNCTION(BlueprintCallable) void SetCurrentIsInfiniteCapture(bool bInfiniteCapture); UFUNCTION(BlueprintCallable) void SetCurrentCaptureNumber(int32 CaptureNumber); public: UFUNCTION(BlueprintPure) FString GetCurrentFolderName() const; UFUNCTION(BlueprintPure) FString GetCurrentFileName() const; UFUNCTION(BlueprintPure) int32 GetCurrentWritesPerSec() const; UFUNCTION(BlueprintPure) bool GetCurrentIsScenario() const; UFUNCTION(BlueprintPure) bool GetCurrentIsRandomLight() const; UFUNCTION(BlueprintPure) bool GetCurrentIsRandomMaterials() const; UFUNCTION(BlueprintPure) bool GetCurrentIsRandomRobotPosition() const; UFUNCTION(BlueprintPure) bool GetCurrentIsRandomPets() const; UFUNCTION(BlueprintPure) int32 GetCurrentPetsNumber() const; UFUNCTION(BlueprintPure) bool GetCurrentIsRandomPeople() const; UFUNCTION(BlueprintPure) int32 GetCurrentPeopleNumber() const; UFUNCTION(BlueprintPure) bool GetCurrentIsRandomObjects() const; UFUNCTION(BlueprintPure) int32 GetCurrentObjectsNumber() const; UFUNCTION(BlueprintPure) TArray> GetCurrentRandomMeshes() const; UFUNCTION(BlueprintPure) bool GetCurrentIsInfiniteCapture() const; UFUNCTION(BlueprintPure) int32 GetCurrentCaptureNumber() const; public: UFUNCTION(BlueprintCallable) void SetWidgetTotalHit(int32 Value); UFUNCTION(BlueprintPure) int32 GetWidgetTotalHit() const; public: UFUNCTION(BlueprintImplementableEvent) void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData); };