266 lines
6.8 KiB
C++
266 lines
6.8 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
#include "LuckyRobotsGameInstance.h"
|
|
#include "LuckyRobotsGameState.h"
|
|
#include "Kismet/GameplayStatics.h"
|
|
#include "GameUserWidget.h"
|
|
|
|
void ULuckyRobotsGameInstance::DoSendMessage(FString SendValue)
|
|
{
|
|
ALuckyRobotsGameState* LuckyRobotsGameState = Cast<ALuckyRobotsGameState>(UGameplayStatics::GetGameState(this));
|
|
if (LuckyRobotsGameState)
|
|
{
|
|
LuckyRobotsGameState->DoSendMessage(SendValue);
|
|
}
|
|
|
|
DoLogItemAdd("Receive", SendValue, ELogItemType::Debug);
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::DoLogItemAdd(FString Topic, FString MsgText, ELogItemType LogItemType)
|
|
{
|
|
if (GameUserWidget)
|
|
{
|
|
GameUserWidget->DoLogItemAdd(Topic, MsgText, LogItemType);
|
|
}
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::SwitchGamePaused()
|
|
{
|
|
UGameplayStatics::SetGamePaused(this, !UGameplayStatics::IsGamePaused(this));
|
|
|
|
if (UGameplayStatics::IsGamePaused(this))
|
|
{
|
|
UKismetSystemLibrary::ExecuteConsoleCommand(this, "r.SceneRendering 0");
|
|
}
|
|
else
|
|
{
|
|
UKismetSystemLibrary::ExecuteConsoleCommand(this, "r.SceneRendering 1");
|
|
}
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::ClearTaskList()
|
|
{
|
|
TaskList.Empty();
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::AddTask(FGoalsTaskData TaskData)
|
|
{
|
|
TaskList.Add(TaskData);
|
|
}
|
|
void ULuckyRobotsGameInstance::RemoveTask(FGoalsTaskData TaskData)
|
|
{
|
|
TaskList.Remove(TaskData);
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::RemoveTaskByGoalType(EGoalType GoalType)
|
|
{
|
|
for (auto Task : TaskList)
|
|
{
|
|
if (Task.GoalType == GoalType)
|
|
{
|
|
RemoveTask(Task);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
int ULuckyRobotsGameInstance::GetTaskNum()
|
|
{
|
|
return TaskList.Num();
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::SetTask(int Index, FGoalsTaskData TaskData)
|
|
{
|
|
if (TaskList.IsValidIndex(Index))
|
|
{
|
|
TaskList[Index] = TaskData;
|
|
}
|
|
else
|
|
{
|
|
for (int i = TaskList.Num(); i < Index; i++)
|
|
{
|
|
FGoalsTaskData TempTaskData;
|
|
AddTask(TempTaskData);
|
|
}
|
|
AddTask(TaskData);
|
|
}
|
|
}
|
|
|
|
bool ULuckyRobotsGameInstance::GetTask(int Index, FGoalsTaskData& TaskData)
|
|
{
|
|
if (TaskList.IsValidIndex(Index))
|
|
{
|
|
TaskData = TaskList[Index];
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::ReSetTaskList()
|
|
{
|
|
TArray<FGoalsTaskData> TempTaskList;
|
|
for (auto Task : TaskList)
|
|
{
|
|
Task.bIsStart = false;
|
|
Task.bIsStart = false;
|
|
Task.bActive = false;
|
|
TempTaskList.Add(Task);
|
|
}
|
|
|
|
TaskList = TempTaskList;
|
|
}
|
|
|
|
TArray<FGoalsTaskData> ULuckyRobotsGameInstance::GetTaskList()
|
|
{
|
|
return TaskList;
|
|
}
|
|
|
|
void ULuckyRobotsGameInstance::DoSetTempTaskValueChange(bool IsClear)
|
|
{
|
|
if (IsClear)
|
|
{
|
|
ClearTaskList();
|
|
}
|
|
else
|
|
{
|
|
AddTask(TempTask);
|
|
}
|
|
|
|
if (GameUserWidget)
|
|
{
|
|
GameUserWidget->DoRefreshListView();
|
|
}
|
|
}
|
|
|
|
|
|
void ULuckyRobotsGameInstance::SetCurrentFolderName(FString FolderName)
|
|
{
|
|
CurrentCaptureSettingsData.FolderName = FText::FromString(FolderName);
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentFileName(FString FileName)
|
|
{
|
|
CurrentCaptureSettingsData.FileName = FText::FromString(FileName);
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentWritesPerSec(int WritesPerSec)
|
|
{
|
|
CurrentCaptureSettingsData.WritesPerSec = FText::FromString(FString::FromInt(WritesPerSec));
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsScenario(bool IsScenario)
|
|
{
|
|
CurrentCaptureSettingsData.IsScenario = IsScenario;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsRandomLight(bool bLight)
|
|
{
|
|
CurrentCaptureSettingsData.bLight = bLight;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsRandomMaterials(bool bMaterials)
|
|
{
|
|
CurrentCaptureSettingsData.bMaterials = bMaterials;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsRandomRobotPosition(bool bRobotPosition)
|
|
{
|
|
CurrentCaptureSettingsData.bRobotPosition = bRobotPosition;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsRandomPets(bool bPets)
|
|
{
|
|
CurrentCaptureSettingsData.bPets = bPets;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentPetsNumber(int PetsNumber)
|
|
{
|
|
CurrentCaptureSettingsData.NumberOfPets = FText::FromString(FString::FromInt(PetsNumber));
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsRandomPeople(bool bPeople)
|
|
{
|
|
CurrentCaptureSettingsData.bPeople = bPeople;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentPeopleNumber(int PeopleNumber)
|
|
{
|
|
CurrentCaptureSettingsData.NumberOfPeople = FText::FromString(FString::FromInt(PeopleNumber));
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsRandomObjects(bool bObjects)
|
|
{
|
|
CurrentCaptureSettingsData.bObjects = bObjects;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentObjectsNumber(int ObjectsNumber)
|
|
{
|
|
CurrentCaptureSettingsData.NumberOfObjects = FText::FromString(FString::FromInt(ObjectsNumber));
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentRandomMeshes(TArray<TSoftObjectPtr<UStaticMeshComponent>> RandomMeshes)
|
|
{
|
|
CurrentCaptureSettingsData.RandomMeshes = RandomMeshes;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentIsInfiniteCapture(bool bInfiniteCapture)
|
|
{
|
|
CurrentCaptureSettingsData.bInfiniteCapture = bInfiniteCapture;
|
|
}
|
|
void ULuckyRobotsGameInstance::SetCurrentCaptureNumber(int CaptureNumber)
|
|
{
|
|
CurrentCaptureSettingsData.NumberOfCaptures = FText::FromString(FString::FromInt(CaptureNumber));
|
|
}
|
|
|
|
FString ULuckyRobotsGameInstance::GetCurrentFolderName()
|
|
{
|
|
return CurrentCaptureSettingsData.FolderName.ToString();
|
|
}
|
|
FString ULuckyRobotsGameInstance::GetCurrentFileName()
|
|
{
|
|
return CurrentCaptureSettingsData.FileName.ToString();
|
|
}
|
|
int ULuckyRobotsGameInstance::GetCurrentWritesPerSec()
|
|
{
|
|
return FCString::Atoi(*(CurrentCaptureSettingsData.WritesPerSec.ToString()));
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsScenario()
|
|
{
|
|
return CurrentCaptureSettingsData.IsScenario;
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsRandomLight()
|
|
{
|
|
return CurrentCaptureSettingsData.bLight;
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsRandomMaterials()
|
|
{
|
|
return CurrentCaptureSettingsData.bMaterials;
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsRandomRobotPosition()
|
|
{
|
|
return CurrentCaptureSettingsData.bRobotPosition;
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsRandomPets()
|
|
{
|
|
return CurrentCaptureSettingsData.bPets;
|
|
}
|
|
int ULuckyRobotsGameInstance::GetCurrentPetsNumber()
|
|
{
|
|
return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfPets.ToString()));
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsRandomPeople()
|
|
{
|
|
return CurrentCaptureSettingsData.bPeople;
|
|
}
|
|
int ULuckyRobotsGameInstance::GetCurrentPeopleNumber()
|
|
{
|
|
return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfPeople.ToString()));
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsRandomObjects()
|
|
{
|
|
return CurrentCaptureSettingsData.bObjects;
|
|
}
|
|
int ULuckyRobotsGameInstance::GetCurrentObjectsNumber()
|
|
{
|
|
return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfObjects.ToString()));
|
|
}
|
|
TArray<TSoftObjectPtr<UStaticMeshComponent>> ULuckyRobotsGameInstance::GetCurrentRandomMeshes()
|
|
{
|
|
return CurrentCaptureSettingsData.RandomMeshes;
|
|
}
|
|
bool ULuckyRobotsGameInstance::GetCurrentIsInfiniteCapture()
|
|
{
|
|
return CurrentCaptureSettingsData.bInfiniteCapture;
|
|
}
|
|
int ULuckyRobotsGameInstance::GetCurrentCaptureNumber()
|
|
{
|
|
return FCString::Atoi(*(CurrentCaptureSettingsData.NumberOfCaptures.ToString()));
|
|
} |