// 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; /** * */ 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: 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; public: UFUNCTION(BlueprintImplementableEvent) void DoGetDispatch(const FString& EventName, USIOJsonValue* EventData); 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(); };