SpawnActor stuff
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
namespace Prospect.Unreal.Core.Math;
|
||||
|
||||
public ref struct FTransform
|
||||
public class FTransform
|
||||
{
|
||||
public FVector Location { get; set; }
|
||||
public FRotator Rotation { get; set; }
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Prospect.Unreal.Core.Objects;
|
||||
|
||||
public struct FObjectInstancingGraph
|
||||
{
|
||||
|
||||
}
|
||||
@@ -13,6 +13,6 @@ public class GUClassArray
|
||||
public static UClass StaticClass(Type type)
|
||||
{
|
||||
// TODO: Implement
|
||||
return new UClass();
|
||||
return new UClass(type);
|
||||
}
|
||||
}
|
||||
@@ -4,5 +4,30 @@ namespace Prospect.Unreal.Core.Objects;
|
||||
|
||||
public class UClass : UStruct
|
||||
{
|
||||
public UClass(Type type)
|
||||
{
|
||||
Type = type;
|
||||
}
|
||||
|
||||
public Type Type { get; }
|
||||
|
||||
public UObject GetDefaultObject<T>() where T : UObject
|
||||
{
|
||||
// TODO: Implement
|
||||
var obj = (UObject) Activator.CreateInstance<T>();
|
||||
|
||||
obj.SetFlags(EObjectFlags.RF_Public | EObjectFlags.RF_ClassDefaultObject | EObjectFlags.RF_ArchetypeObject);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
public UObject GetDefaultObject(bool bCreateIfNeeded = true)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public UObject CreateDefaultObject()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -2,5 +2,9 @@
|
||||
|
||||
public class UObject : UObjectBaseUtility
|
||||
{
|
||||
|
||||
public bool CheckDefaultSubobjects(bool bForceCheck = false)
|
||||
{
|
||||
// TODO: Implement
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,12 @@ public class UObjectBaseUtility : UObjectBase
|
||||
// TODO: GUObjectArray
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsPendingKill()
|
||||
{
|
||||
// TODO: GUObjectArray
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Outer & Package
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
using Prospect.Unreal.Core.Names;
|
||||
using Prospect.Unreal.Exceptions;
|
||||
|
||||
namespace Prospect.Unreal.Core.Objects;
|
||||
|
||||
public class UObjectGlobals
|
||||
{
|
||||
public static T? NewObject<T>(UObject outer,
|
||||
UClass clazz,
|
||||
FName? name = null,
|
||||
EObjectFlags flags = EObjectFlags.RF_NoFlags,
|
||||
UObject? template = null,
|
||||
bool bCopyTransientsFromClassDefaults = false,
|
||||
FObjectInstancingGraph? inInstanceGraph = null,
|
||||
UPackage? externalPackage = null)
|
||||
{
|
||||
if (name == null)
|
||||
{
|
||||
name = EName.None;
|
||||
}
|
||||
|
||||
// NewObject
|
||||
// StaticConstructObject_Internal
|
||||
// StaticAllocateObject
|
||||
|
||||
var obj = Activator.CreateInstance(clazz.Type);
|
||||
if (obj == null)
|
||||
{
|
||||
throw new UnrealException("Failed to create object.");
|
||||
}
|
||||
|
||||
return (T?) obj;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user