#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: CoreUObject

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"


namespace SDK
{

// Class CoreUObject.Object
// 0x0028 (0x0028 - 0x0000)
class alignas(0x08) UObject
{
public:
	static inline class TUObjectArrayWrapper      GObjects;                                          // 0x0000(0x0008)(NOT AUTO-GENERATED PROPERTY)

	void*                                         VTable;                                            // 0x0000(0x0008)(NOT AUTO-GENERATED PROPERTY)
	EObjectFlags                                  Flags;                                             // 0x0008(0x0004)(NOT AUTO-GENERATED PROPERTY)
	int32                                         Index;                                             // 0x000C(0x0004)(NOT AUTO-GENERATED PROPERTY)
	class UClass*                                 Class;                                             // 0x0010(0x0008)(NOT AUTO-GENERATED PROPERTY)
	class FName                                   Name;                                              // 0x0018(0x0008)(NOT AUTO-GENERATED PROPERTY)
	class UObject*                                Outer;                                             // 0x0020(0x0008)(NOT AUTO-GENERATED PROPERTY)

public:
	static class UObject* FindObjectFastImpl(const std::string& Name, EClassCastFlags RequiredType = EClassCastFlags::None);
	static class UObject* FindObjectImpl(const std::string& FullName, EClassCastFlags RequiredType = EClassCastFlags::None);

	std::string GetFullName() const;
	std::string GetName() const;
	bool HasTypeFlag(EClassCastFlags TypeFlags) const;
	bool IsA(EClassCastFlags TypeFlags) const;
	bool IsA(const class FName& ClassName) const;
	bool IsA(const class UClass* TypeClass) const;
	bool IsDefaultObject() const;

	void ExecuteUbergraph(int32 EntryPoint);

public:
	static class UClass* FindClass(const std::string& ClassFullName)
	{
		return FindObject<class UClass>(ClassFullName, EClassCastFlags::Class);
	}
	static class UClass* FindClassFast(const std::string& ClassName)
	{
		return FindObjectFast<class UClass>(ClassName, EClassCastFlags::Class);
	}
	
	template<typename UEType = UObject>
	static UEType* FindObject(const std::string& Name, EClassCastFlags RequiredType = EClassCastFlags::None)
	{
		return static_cast<UEType*>(FindObjectImpl(Name, RequiredType));
	}
	template<typename UEType = UObject>
	static UEType* FindObjectFast(const std::string& Name, EClassCastFlags RequiredType = EClassCastFlags::None)
	{
		return static_cast<UEType*>(FindObjectFastImpl(Name, RequiredType));
	}

	void ProcessEvent(class UFunction* Function, void* Parms) const
	{
		InSDKUtils::CallGameFunction(InSDKUtils::GetVirtualFunction<void(*)(const UObject*, class UFunction*, void*)>(this, Offsets::ProcessEventIdx), this, Function, Parms);
	}
};
DUMPER7_ASSERTS_UObject;

// Class CoreUObject.GCObjectReferencer
// 0x0010 (0x0038 - 0x0028)
class UGCObjectReferencer final : public UObject
{
public:
	uint8                                         Pad_28[0x10];                                      // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("GCObjectReferencer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"GCObjectReferencer")
	}
	static class UGCObjectReferencer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UGCObjectReferencer>();
	}
};
DUMPER7_ASSERTS_UGCObjectReferencer;

// Class CoreUObject.PropertyWrapper
// 0x0008 (0x0030 - 0x0028)
class UPropertyWrapper : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("PropertyWrapper")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"PropertyWrapper")
	}
	static class UPropertyWrapper* GetDefaultObj()
	{
		return GetDefaultObjImpl<UPropertyWrapper>();
	}
};
DUMPER7_ASSERTS_UPropertyWrapper;

// Class CoreUObject.MulticastDelegatePropertyWrapper
// 0x0000 (0x0030 - 0x0030)
class UMulticastDelegatePropertyWrapper : public UPropertyWrapper
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MulticastDelegatePropertyWrapper")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MulticastDelegatePropertyWrapper")
	}
	static class UMulticastDelegatePropertyWrapper* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMulticastDelegatePropertyWrapper>();
	}
};
DUMPER7_ASSERTS_UMulticastDelegatePropertyWrapper;

// Class CoreUObject.Interface
// 0x0000 (0x0000 - 0x0000)
class IInterface final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Interface")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Interface")
	}
	static class IInterface* GetDefaultObj()
	{
		return GetDefaultObjImpl<IInterface>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IInterface;

// Class CoreUObject.EditorPathObjectInterface
// 0x0000 (0x0000 - 0x0000)
class IEditorPathObjectInterface final
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EditorPathObjectInterface")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EditorPathObjectInterface")
	}
	static class IEditorPathObjectInterface* GetDefaultObj()
	{
		return GetDefaultObjImpl<IEditorPathObjectInterface>();
	}

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IEditorPathObjectInterface;

// Class CoreUObject.TextBuffer
// 0x0028 (0x0050 - 0x0028)
class UTextBuffer final : public UObject
{
public:
	uint8                                         Pad_28[0x28];                                      // 0x0028(0x0028)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TextBuffer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TextBuffer")
	}
	static class UTextBuffer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTextBuffer>();
	}
};
DUMPER7_ASSERTS_UTextBuffer;

// Class CoreUObject.Field
// 0x0008 (0x0030 - 0x0028)
class UField : public UObject
{
public:
	class UField*                                 Next;                                              // 0x0028(0x0008)(NOT AUTO-GENERATED PROPERTY)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Field")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Field")
	}
	static class UField* GetDefaultObj()
	{
		return GetDefaultObjImpl<UField>();
	}
};
DUMPER7_ASSERTS_UField;

// Class CoreUObject.Struct
// 0x0070 (0x00A0 - 0x0030)
class UStruct : public UField
{
public:
	class UStruct*                                Super;                                             // 0x0030(0x0008)(NOT AUTO-GENERATED PROPERTY)
	class UField*                                 Children;                                          // 0x0038(0x0008)(NOT AUTO-GENERATED PROPERTY)
	class FField*                                 ChildProperties;                                   // 0x0040(0x0008)(NOT AUTO-GENERATED PROPERTY)
	int32                                         Size;                                              // 0x0048(0x0004)(NOT AUTO-GENERATED PROPERTY)
	int16                                         MinAlignment;                                      // 0x004C(0x0002)(NOT AUTO-GENERATED PROPERTY)
	uint8                                         Pad_4E[0x52];                                      // 0x004E(0x0052)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool IsSubclassOf(const UStruct* Base) const;
	bool IsSubclassOf(const FName& baseClassName) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Struct")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Struct")
	}
	static class UStruct* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStruct>();
	}
};
DUMPER7_ASSERTS_UStruct;

// Class CoreUObject.ScriptStruct
// 0x0010 (0x00B0 - 0x00A0)
class UScriptStruct : public UStruct
{
public:
	uint8                                         Pad_A0[0x10];                                      // 0x00A0(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ScriptStruct")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ScriptStruct")
	}
	static class UScriptStruct* GetDefaultObj()
	{
		return GetDefaultObjImpl<UScriptStruct>();
	}
};
DUMPER7_ASSERTS_UScriptStruct;

// Class CoreUObject.Package
// 0x0058 (0x0080 - 0x0028)
class UPackage final : public UObject
{
public:
	uint8                                         Pad_28[0x58];                                      // 0x0028(0x0058)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Package")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Package")
	}
	static class UPackage* GetDefaultObj()
	{
		return GetDefaultObjImpl<UPackage>();
	}
};
DUMPER7_ASSERTS_UPackage;

// Class CoreUObject.Class
// 0x0150 (0x01F0 - 0x00A0)
class UClass : public UStruct
{
public:
	uint8                                         Pad_A0[0x28];                                      // 0x00A0(0x0028)(Fixing Size After Last Property [ Dumper-7 ])
	enum class EClassCastFlags                    CastFlags;                                         // 0x00C8(0x0008)(NOT AUTO-GENERATED PROPERTY)
	uint8                                         Pad_D0[0x30];                                      // 0x00D0(0x0030)(Fixing Size After Last Property [ Dumper-7 ])
	class UObject*                                DefaultObject;                                     // 0x0100(0x0008)(NOT AUTO-GENERATED PROPERTY)
	uint8                                         Pad_108[0xE8];                                     // 0x0108(0x00E8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	class UFunction* GetFunction(const char* ClassName, const char* FuncName) const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Class")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Class")
	}
	static class UClass* GetDefaultObj()
	{
		return GetDefaultObjImpl<UClass>();
	}
};
DUMPER7_ASSERTS_UClass;

// Class CoreUObject.Function
// 0x0030 (0x00D0 - 0x00A0)
class UFunction : public UStruct
{
public:
	using FNativeFuncPtr = void (*)(void* Context, void* TheStack, void* Result);

	uint32                                        FunctionFlags;                                     // 0x00A0(0x0004)(NOT AUTO-GENERATED PROPERTY)
	uint8                                         Pad_A4[0x24];                                      // 0x00A4(0x0024)(Fixing Size After Last Property [ Dumper-7 ])
	FNativeFuncPtr                                ExecFunction;                                      // 0x00C8(0x0008)(NOT AUTO-GENERATED PROPERTY)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Function")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Function")
	}
	static class UFunction* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFunction>();
	}
};
DUMPER7_ASSERTS_UFunction;

// Class CoreUObject.DelegateFunction
// 0x0000 (0x00D0 - 0x00D0)
class UDelegateFunction : public UFunction
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("DelegateFunction")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"DelegateFunction")
	}
	static class UDelegateFunction* GetDefaultObj()
	{
		return GetDefaultObjImpl<UDelegateFunction>();
	}
};
DUMPER7_ASSERTS_UDelegateFunction;

// Class CoreUObject.SparseDelegateFunction
// 0x0010 (0x00E0 - 0x00D0)
class USparseDelegateFunction final : public UDelegateFunction
{
public:
	uint8                                         Pad_D0[0x10];                                      // 0x00D0(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SparseDelegateFunction")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SparseDelegateFunction")
	}
	static class USparseDelegateFunction* GetDefaultObj()
	{
		return GetDefaultObjImpl<USparseDelegateFunction>();
	}
};
DUMPER7_ASSERTS_USparseDelegateFunction;

// Class CoreUObject.Enum
// 0x0038 (0x0068 - 0x0030)
class UEnum : public UField
{
public:
	uint8                                         Pad_30[0x10];                                      // 0x0030(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	class TArray<class TPair<class FName, int64>> Names;                                             // 0x0040(0x0010)(NOT AUTO-GENERATED PROPERTY)
	uint8                                         Pad_50[0x18];                                      // 0x0050(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Enum")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Enum")
	}
	static class UEnum* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnum>();
	}
};
DUMPER7_ASSERTS_UEnum;

// Class CoreUObject.EnumCookedMetaData
// 0x0050 (0x0078 - 0x0028)
class UEnumCookedMetaData final : public UObject
{
public:
	struct FObjectCookedMetaDataStore             EnumMetaData;                                      // 0x0028(0x0050)(Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnumCookedMetaData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnumCookedMetaData")
	}
	static class UEnumCookedMetaData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnumCookedMetaData>();
	}
};
DUMPER7_ASSERTS_UEnumCookedMetaData;

// Class CoreUObject.StructCookedMetaData
// 0x00A0 (0x00C8 - 0x0028)
class UStructCookedMetaData final : public UObject
{
public:
	struct FStructCookedMetaDataStore             StructMetaData;                                    // 0x0028(0x00A0)(Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StructCookedMetaData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StructCookedMetaData")
	}
	static class UStructCookedMetaData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStructCookedMetaData>();
	}
};
DUMPER7_ASSERTS_UStructCookedMetaData;

// Class CoreUObject.ClassCookedMetaData
// 0x00F0 (0x0118 - 0x0028)
class UClassCookedMetaData final : public UObject
{
public:
	struct FStructCookedMetaDataStore             ClassMetaData;                                     // 0x0028(0x00A0)(Protected, NativeAccessSpecifierProtected)
	TMap<class FName, struct FStructCookedMetaDataStore> FunctionsMetaData;                          // 0x00C8(0x0050)(Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ClassCookedMetaData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ClassCookedMetaData")
	}
	static class UClassCookedMetaData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UClassCookedMetaData>();
	}
};
DUMPER7_ASSERTS_UClassCookedMetaData;

// Class CoreUObject.PackageMap
// 0x00B8 (0x00E0 - 0x0028)
class UPackageMap : public UObject
{
public:
	uint8                                         Pad_28[0xB8];                                      // 0x0028(0x00B8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("PackageMap")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"PackageMap")
	}
	static class UPackageMap* GetDefaultObj()
	{
		return GetDefaultObjImpl<UPackageMap>();
	}
};
DUMPER7_ASSERTS_UPackageMap;

// Class CoreUObject.ObjectReachabilityStressData
// 0x0010 (0x0038 - 0x0028)
class UObjectReachabilityStressData final : public UObject
{
public:
	uint8                                         Pad_28[0x10];                                      // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ObjectReachabilityStressData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ObjectReachabilityStressData")
	}
	static class UObjectReachabilityStressData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UObjectReachabilityStressData>();
	}
};
DUMPER7_ASSERTS_UObjectReachabilityStressData;

// Class CoreUObject.InstanceDataObjectStruct
// 0x0010 (0x00C0 - 0x00B0)
class UInstanceDataObjectStruct final : public UScriptStruct
{
public:
	uint8                                         Pad_B0[0x10];                                      // 0x00B0(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("InstanceDataObjectStruct")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"InstanceDataObjectStruct")
	}
	static class UInstanceDataObjectStruct* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInstanceDataObjectStruct>();
	}
};
DUMPER7_ASSERTS_UInstanceDataObjectStruct;

// Class CoreUObject.LinkerPlaceholderClass
// 0x01C0 (0x03B0 - 0x01F0)
class ULinkerPlaceholderClass final : public UClass
{
public:
	uint8                                         Pad_1F0[0x1C0];                                    // 0x01F0(0x01C0)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LinkerPlaceholderClass")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LinkerPlaceholderClass")
	}
	static class ULinkerPlaceholderClass* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULinkerPlaceholderClass>();
	}
};
DUMPER7_ASSERTS_ULinkerPlaceholderClass;

// Class CoreUObject.LinkerPlaceholderExportObject
// 0x00D0 (0x00F8 - 0x0028)
class ULinkerPlaceholderExportObject final : public UObject
{
public:
	uint8                                         Pad_28[0xD0];                                      // 0x0028(0x00D0)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LinkerPlaceholderExportObject")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LinkerPlaceholderExportObject")
	}
	static class ULinkerPlaceholderExportObject* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULinkerPlaceholderExportObject>();
	}
};
DUMPER7_ASSERTS_ULinkerPlaceholderExportObject;

// Class CoreUObject.LinkerPlaceholderFunction
// 0x01C0 (0x0290 - 0x00D0)
class ULinkerPlaceholderFunction final : public UFunction
{
public:
	uint8                                         Pad_D0[0x1C0];                                     // 0x00D0(0x01C0)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LinkerPlaceholderFunction")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LinkerPlaceholderFunction")
	}
	static class ULinkerPlaceholderFunction* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULinkerPlaceholderFunction>();
	}
};
DUMPER7_ASSERTS_ULinkerPlaceholderFunction;

// Class CoreUObject.MetaData
// 0x00A0 (0x00C8 - 0x0028)
class UMetaData final : public UObject
{
public:
	uint8                                         Pad_28[0xA0];                                      // 0x0028(0x00A0)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MetaData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MetaData")
	}
	static class UMetaData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMetaData>();
	}
};
DUMPER7_ASSERTS_UMetaData;

// Class CoreUObject.ObjectRedirector
// 0x0008 (0x0030 - 0x0028)
class UObjectRedirector final : public UObject
{
public:
	uint8                                         Pad_28[0x8];                                       // 0x0028(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ObjectRedirector")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ObjectRedirector")
	}
	static class UObjectRedirector* GetDefaultObj()
	{
		return GetDefaultObjImpl<UObjectRedirector>();
	}
};
DUMPER7_ASSERTS_UObjectRedirector;

// Class CoreUObject.Property
// 0x0040 (0x0070 - 0x0030)
class UProperty : public UField
{
public:
	uint8                                         Pad_30[0x40];                                      // 0x0030(0x0040)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Property")
	}
	static class UProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UProperty>();
	}
};
DUMPER7_ASSERTS_UProperty;

// Class CoreUObject.EnumProperty
// 0x0010 (0x0080 - 0x0070)
class UEnumProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x10];                                      // 0x0070(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("EnumProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"EnumProperty")
	}
	static class UEnumProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEnumProperty>();
	}
};
DUMPER7_ASSERTS_UEnumProperty;

// Class CoreUObject.ArrayProperty
// 0x0008 (0x0078 - 0x0070)
class UArrayProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ArrayProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ArrayProperty")
	}
	static class UArrayProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UArrayProperty>();
	}
};
DUMPER7_ASSERTS_UArrayProperty;

// Class CoreUObject.ObjectPropertyBase
// 0x0008 (0x0078 - 0x0070)
class UObjectPropertyBase : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ObjectPropertyBase")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ObjectPropertyBase")
	}
	static class UObjectPropertyBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UObjectPropertyBase>();
	}
};
DUMPER7_ASSERTS_UObjectPropertyBase;

// Class CoreUObject.BoolProperty
// 0x0008 (0x0078 - 0x0070)
class UBoolProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BoolProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BoolProperty")
	}
	static class UBoolProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBoolProperty>();
	}
};
DUMPER7_ASSERTS_UBoolProperty;

// Class CoreUObject.NumericProperty
// 0x0000 (0x0070 - 0x0070)
class UNumericProperty : public UProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NumericProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NumericProperty")
	}
	static class UNumericProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UNumericProperty>();
	}
};
DUMPER7_ASSERTS_UNumericProperty;

// Class CoreUObject.ByteProperty
// 0x0008 (0x0078 - 0x0070)
class UByteProperty final : public UNumericProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ByteProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ByteProperty")
	}
	static class UByteProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UByteProperty>();
	}
};
DUMPER7_ASSERTS_UByteProperty;

// Class CoreUObject.ObjectProperty
// 0x0000 (0x0078 - 0x0078)
class UObjectProperty : public UObjectPropertyBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ObjectProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ObjectProperty")
	}
	static class UObjectProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UObjectProperty>();
	}
};
DUMPER7_ASSERTS_UObjectProperty;

// Class CoreUObject.ClassProperty
// 0x0008 (0x0080 - 0x0078)
class UClassProperty final : public UObjectProperty
{
public:
	uint8                                         Pad_78[0x8];                                       // 0x0078(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("ClassProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"ClassProperty")
	}
	static class UClassProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UClassProperty>();
	}
};
DUMPER7_ASSERTS_UClassProperty;

// Class CoreUObject.DelegateProperty
// 0x0008 (0x0078 - 0x0070)
class UDelegateProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("DelegateProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"DelegateProperty")
	}
	static class UDelegateProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UDelegateProperty>();
	}
};
DUMPER7_ASSERTS_UDelegateProperty;

// Class CoreUObject.DoubleProperty
// 0x0000 (0x0070 - 0x0070)
class UDoubleProperty final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("DoubleProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"DoubleProperty")
	}
	static class UDoubleProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UDoubleProperty>();
	}
};
DUMPER7_ASSERTS_UDoubleProperty;

// Class CoreUObject.FloatProperty
// 0x0000 (0x0070 - 0x0070)
class UFloatProperty final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("FloatProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"FloatProperty")
	}
	static class UFloatProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UFloatProperty>();
	}
};
DUMPER7_ASSERTS_UFloatProperty;

// Class CoreUObject.IntProperty
// 0x0000 (0x0070 - 0x0070)
class UIntProperty final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("IntProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"IntProperty")
	}
	static class UIntProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UIntProperty>();
	}
};
DUMPER7_ASSERTS_UIntProperty;

// Class CoreUObject.Int8Property
// 0x0000 (0x0070 - 0x0070)
class UInt8Property final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Int8Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Int8Property")
	}
	static class UInt8Property* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInt8Property>();
	}
};
DUMPER7_ASSERTS_UInt8Property;

// Class CoreUObject.Int16Property
// 0x0000 (0x0070 - 0x0070)
class UInt16Property final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Int16Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Int16Property")
	}
	static class UInt16Property* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInt16Property>();
	}
};
DUMPER7_ASSERTS_UInt16Property;

// Class CoreUObject.Int64Property
// 0x0000 (0x0070 - 0x0070)
class UInt64Property final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("Int64Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"Int64Property")
	}
	static class UInt64Property* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInt64Property>();
	}
};
DUMPER7_ASSERTS_UInt64Property;

// Class CoreUObject.InterfaceProperty
// 0x0008 (0x0078 - 0x0070)
class UInterfaceProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("InterfaceProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"InterfaceProperty")
	}
	static class UInterfaceProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInterfaceProperty>();
	}
};
DUMPER7_ASSERTS_UInterfaceProperty;

// Class CoreUObject.LazyObjectProperty
// 0x0000 (0x0078 - 0x0078)
class ULazyObjectProperty final : public UObjectPropertyBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("LazyObjectProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"LazyObjectProperty")
	}
	static class ULazyObjectProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<ULazyObjectProperty>();
	}
};
DUMPER7_ASSERTS_ULazyObjectProperty;

// Class CoreUObject.MapProperty
// 0x0028 (0x0098 - 0x0070)
class UMapProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x28];                                      // 0x0070(0x0028)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MapProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MapProperty")
	}
	static class UMapProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMapProperty>();
	}
};
DUMPER7_ASSERTS_UMapProperty;

// Class CoreUObject.MulticastDelegateProperty
// 0x0008 (0x0078 - 0x0070)
class UMulticastDelegateProperty : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MulticastDelegateProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MulticastDelegateProperty")
	}
	static class UMulticastDelegateProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMulticastDelegateProperty>();
	}
};
DUMPER7_ASSERTS_UMulticastDelegateProperty;

// Class CoreUObject.MulticastInlineDelegateProperty
// 0x0000 (0x0078 - 0x0078)
class UMulticastInlineDelegateProperty final : public UMulticastDelegateProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MulticastInlineDelegateProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MulticastInlineDelegateProperty")
	}
	static class UMulticastInlineDelegateProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMulticastInlineDelegateProperty>();
	}
};
DUMPER7_ASSERTS_UMulticastInlineDelegateProperty;

// Class CoreUObject.MulticastSparseDelegateProperty
// 0x0000 (0x0078 - 0x0078)
class UMulticastSparseDelegateProperty final : public UMulticastDelegateProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MulticastSparseDelegateProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MulticastSparseDelegateProperty")
	}
	static class UMulticastSparseDelegateProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMulticastSparseDelegateProperty>();
	}
};
DUMPER7_ASSERTS_UMulticastSparseDelegateProperty;

// Class CoreUObject.NameProperty
// 0x0000 (0x0070 - 0x0070)
class UNameProperty final : public UProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NameProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NameProperty")
	}
	static class UNameProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UNameProperty>();
	}
};
DUMPER7_ASSERTS_UNameProperty;

// Class CoreUObject.SetProperty
// 0x0020 (0x0090 - 0x0070)
class USetProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x20];                                      // 0x0070(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SetProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SetProperty")
	}
	static class USetProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<USetProperty>();
	}
};
DUMPER7_ASSERTS_USetProperty;

// Class CoreUObject.SoftObjectProperty
// 0x0000 (0x0078 - 0x0078)
class USoftObjectProperty : public UObjectPropertyBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SoftObjectProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SoftObjectProperty")
	}
	static class USoftObjectProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<USoftObjectProperty>();
	}
};
DUMPER7_ASSERTS_USoftObjectProperty;

// Class CoreUObject.SoftClassProperty
// 0x0008 (0x0080 - 0x0078)
class USoftClassProperty final : public USoftObjectProperty
{
public:
	uint8                                         Pad_78[0x8];                                       // 0x0078(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SoftClassProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SoftClassProperty")
	}
	static class USoftClassProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<USoftClassProperty>();
	}
};
DUMPER7_ASSERTS_USoftClassProperty;

// Class CoreUObject.StrProperty
// 0x0000 (0x0070 - 0x0070)
class UStrProperty final : public UProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StrProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StrProperty")
	}
	static class UStrProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStrProperty>();
	}
};
DUMPER7_ASSERTS_UStrProperty;

// Class CoreUObject.StructProperty
// 0x0008 (0x0078 - 0x0070)
class UStructProperty final : public UProperty
{
public:
	uint8                                         Pad_70[0x8];                                       // 0x0070(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("StructProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"StructProperty")
	}
	static class UStructProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UStructProperty>();
	}
};
DUMPER7_ASSERTS_UStructProperty;

// Class CoreUObject.UInt16Property
// 0x0000 (0x0070 - 0x0070)
class UUInt16Property final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("UInt16Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"UInt16Property")
	}
	static class UUInt16Property* GetDefaultObj()
	{
		return GetDefaultObjImpl<UUInt16Property>();
	}
};
DUMPER7_ASSERTS_UUInt16Property;

// Class CoreUObject.UInt32Property
// 0x0000 (0x0070 - 0x0070)
class UUInt32Property final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("UInt32Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"UInt32Property")
	}
	static class UUInt32Property* GetDefaultObj()
	{
		return GetDefaultObjImpl<UUInt32Property>();
	}
};
DUMPER7_ASSERTS_UUInt32Property;

// Class CoreUObject.UInt64Property
// 0x0000 (0x0070 - 0x0070)
class UUInt64Property final : public UNumericProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("UInt64Property")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"UInt64Property")
	}
	static class UUInt64Property* GetDefaultObj()
	{
		return GetDefaultObjImpl<UUInt64Property>();
	}
};
DUMPER7_ASSERTS_UUInt64Property;

// Class CoreUObject.WeakObjectProperty
// 0x0000 (0x0078 - 0x0078)
class UWeakObjectProperty final : public UObjectPropertyBase
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("WeakObjectProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"WeakObjectProperty")
	}
	static class UWeakObjectProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UWeakObjectProperty>();
	}
};
DUMPER7_ASSERTS_UWeakObjectProperty;

// Class CoreUObject.TextProperty
// 0x0000 (0x0070 - 0x0070)
class UTextProperty final : public UProperty
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TextProperty")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TextProperty")
	}
	static class UTextProperty* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTextProperty>();
	}
};
DUMPER7_ASSERTS_UTextProperty;

// Class CoreUObject.MulticastInlineDelegatePropertyWrapper
// 0x0000 (0x0030 - 0x0030)
class UMulticastInlineDelegatePropertyWrapper final : public UMulticastDelegatePropertyWrapper
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MulticastInlineDelegatePropertyWrapper")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MulticastInlineDelegatePropertyWrapper")
	}
	static class UMulticastInlineDelegatePropertyWrapper* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMulticastInlineDelegatePropertyWrapper>();
	}
};
DUMPER7_ASSERTS_UMulticastInlineDelegatePropertyWrapper;

}

