Files
integration/Source/Integration/TangibleManager.cpp

40 lines
857 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#include "TangibleManager.h"
using AActorPtr = AActor*;
void FTangibleManager::Init(UWorld *world, UClass* tanact) {
World = world;
ClassTangibleActor = tanact;
}
AActorPtr FTangibleManager::GetTangible(int64 id) {
AActorPtr *p = IdToActor.Find(id);
if (p == nullptr) {
return nullptr;
} else {
return *p;
}
}
// Get the tangible if it exists, otherwise create it.
AActorPtr FTangibleManager::MakeTangible(int64 id) {
AActorPtr& p = IdToActor.FindOrAdd(id);
if (p == nullptr) {
FVector location;
FRotator rotation;
FActorSpawnParameters params;
p = World->SpawnActor(ClassTangibleActor, &location, &rotation, params);
check(p != nullptr);
}
return p;
}
// Delete the tangible.
void FTangibleManager::DeleteTangible(int64 id) {
// IMPLEMENT ME
}