Bare minimum tangible manager functionality OK

This commit is contained in:
2023-09-02 01:43:44 -04:00
parent 1494e4f8e6
commit 4073c88d08
3 changed files with 37 additions and 37 deletions

View File

@@ -3,37 +3,37 @@
#include "TangibleManager.h"
//using AActorPtr = AActor*;
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 = w->SpawnActor(ClassTangibleActor, &location, &rotation, params);
// assert(p != nullptr);
// }
// return p;
//}
//
//// Delete the tangible.
//void FTangibleManager::DeleteTangible(int64 id) {
// // IMPLEMENT ME
//}
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
}