Files
integration/Source/Integration/TangibleManager.h

43 lines
884 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "TangibleManager.generated.h"
/**
*
*/
USTRUCT()
struct INTEGRATION_API FTangibleManager
{
GENERATED_BODY()
public:
// A pointer to the UWorld.
UWorld* World;
// A pointer to uclass TangibleActor.
UPROPERTY()
TSubclassOf<AActor> ClassTangibleActor;
// Given a tangible ID, look up actor pointer (or NULL if actor was deleted)
UPROPERTY()
TMap<int64, AActor*> IdToActor;
public:
// Initialize the tangible manager.
//
void Init(UWorld *world, UClass* tanact);
// Get the tangible if it exists, otherwise return NULL
AActor* GetTangible(int64 id);
// Get the tangible if it exists, otherwise create it.
AActor* MakeTangible(int64 id);
// Delete the tangible.
void DeleteTangible(int64 id);
};