#pragma once

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

// Package: Odin

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "Odin_structs.hpp"


namespace SDK
{

// Class Odin.BaseRuneComponent
// 0x0008 (0x00A8 - 0x00A0)
class UBaseRuneComponent : public UActorComponent
{
public:
	uint8                                         Pad_A0[0x8];                                       // 0x00A0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Odin.BaseRuneWrapper
// 0x0000 (0x0028 - 0x0028)
class UBaseRuneWrapper : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BaseRuneWrapper")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BaseRuneWrapper")
	}
	static class UBaseRuneWrapper* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBaseRuneWrapper>();
	}
};
DUMPER7_ASSERTS_UBaseRuneWrapper;

// Class Odin.DebugNameRuneWrapper
// 0x0010 (0x0038 - 0x0028)
class UDebugNameRuneWrapper final : public UBaseRuneWrapper
{
public:
	struct FDebugNameRune                         Rune;                                              // 0x0028(0x0010)(Edit, NativeAccessSpecifierPublic)

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

// Class Odin.DebugNameRuneComponent
// 0x0010 (0x00B8 - 0x00A8)
class UDebugNameRuneComponent final : public UBaseRuneComponent
{
public:
	struct FDebugNameRune                         Rune;                                              // 0x00A8(0x0010)(Edit, NativeAccessSpecifierPublic)

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

// Class Odin.EntityComponent
// 0x0018 (0x00B8 - 0x00A0)
class UEntityComponent final : public UActorComponent
{
public:
	TArray<struct FRuneStruct>                    Tags;                                              // 0x00A0(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_B0[0x8];                                       // 0x00B0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Odin.EntityLayoutData
// 0x0020 (0x0050 - 0x0030)
class UEntityLayoutData final : public UDataAsset
{
public:
	TArray<class UBaseRuneWrapper*>               Runes;                                             // 0x0030(0x0010)(Edit, ExportObject, ZeroConstructor, NoClear, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<struct FRuneStruct>                    Tags;                                              // 0x0040(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)

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

// Class Odin.OdinEntityOverlapManager
// 0x00A8 (0x0350 - 0x02A8)
class AOdinEntityOverlapManager : public AInfo
{
public:
	uint8                                         Pad_2A8[0xA8];                                     // 0x02A8(0x00A8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnEntitiesBeginOverlap(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const struct FHitResult& SweepResult);
	void OnEntitiesEndOverlap(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);

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

// Class Odin.WorldForwardRuneWrapper
// 0x0018 (0x0040 - 0x0028)
class UWorldForwardRuneWrapper final : public UBaseRuneWrapper
{
public:
	struct FWorldForwardRune                      Rune;                                              // 0x0028(0x0018)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.OdinBlueprintFunctionLibrary
// 0x0000 (0x0028 - 0x0028)
class UOdinBlueprintFunctionLibrary final : public UBlueprintFunctionLibrary
{
public:
	static bool GetRuneFromActor(class AActor* Actor, struct FGenericStruct* OutRune);

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

// Class Odin.OdinDefaults
// 0x0020 (0x0048 - 0x0028)
class UOdinDefaults final : public UObject
{
public:
	struct FSoftClassPath                         OverlapManagerClassName;                           // 0x0028(0x0020)(Edit, ZeroConstructor, Config, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class Odin.RuneComponent
// 0x0028 (0x00C8 - 0x00A0)
class URuneComponent final : public UActorComponent
{
public:
	TArray<struct FRuneWrapper>                   Runes;                                             // 0x00A0(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FRuneWrapper>                   Tags;                                              // 0x00B0(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_C0[0x8];                                       // 0x00C0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Odin.OdinGameplayStatics
// 0x0000 (0x0028 - 0x0028)
class UOdinGameplayStatics final : public UBlueprintFunctionLibrary
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("OdinGameplayStatics")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"OdinGameplayStatics")
	}
	static class UOdinGameplayStatics* GetDefaultObj()
	{
		return GetDefaultObjImpl<UOdinGameplayStatics>();
	}
};
DUMPER7_ASSERTS_UOdinGameplayStatics;

// Class Odin.OdinWorldSubsystem
// 0x0CA0 (0x0CD0 - 0x0030)
class alignas(0x10) UOdinWorldSubsystem final : public UWorldSubsystem
{
public:
	class AOdinEntityOverlapManager*              OverlapManager;                                    // 0x0030(0x0008)(ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_38[0xC98];                                     // 0x0038(0x0C98)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class Odin.OverlapDetectionRuneWrapper
// 0x0018 (0x0040 - 0x0028)
class UOverlapDetectionRuneWrapper final : public UBaseRuneWrapper
{
public:
	struct FOverlapDetectionRune                  Rune;                                              // 0x0028(0x0018)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

// Class Odin.OverlapDetectionRuneComponent
// 0x0018 (0x00C0 - 0x00A8)
class UOverlapDetectionRuneComponent final : public UBaseRuneComponent
{
public:
	struct FOverlapDetectionRune                  Rune;                                              // 0x00A8(0x0018)(Edit, ContainsInstancedReference, NativeAccessSpecifierPublic)

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

// Class Odin.WorldRotationRuneWrapper
// 0x0018 (0x0040 - 0x0028)
class UWorldRotationRuneWrapper final : public UBaseRuneWrapper
{
public:
	struct FWorldRotationRune                     Rune;                                              // 0x0028(0x0018)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.OverlapRuneWrapper
// 0x0020 (0x0048 - 0x0028)
class UOverlapRuneWrapper final : public UBaseRuneWrapper
{
public:
	struct FOverlapRune                           Rune;                                              // 0x0028(0x0020)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.OverlapRuneComponent
// 0x0020 (0x00C8 - 0x00A8)
class UOverlapRuneComponent final : public UBaseRuneComponent
{
public:
	struct FOverlapRune                           Rune;                                              // 0x00A8(0x0020)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.BasePoem
// 0x0000 (0x0028 - 0x0028)
class UBasePoem final : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("BasePoem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BasePoem")
	}
	static class UBasePoem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBasePoem>();
	}
};
DUMPER7_ASSERTS_UBasePoem;

// Class Odin.RuneComponentDelegateBinding
// 0x0010 (0x0038 - 0x0028)
class URuneComponentDelegateBinding final : public UDynamicBlueprintBinding
{
public:
	TArray<struct FBlueprintComponentDelegateBinding> ComponentDelegateBindings;                     // 0x0028(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)

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

// Class Odin.WorldLocationRuneWrapper
// 0x0030 (0x0058 - 0x0028)
class UWorldLocationRuneWrapper final : public UBaseRuneWrapper
{
public:
	struct FWorldLocationRune                     Rune;                                              // 0x0028(0x0030)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.WorldLocationRuneComponent
// 0x0030 (0x00D8 - 0x00A8)
class UWorldLocationRuneComponent final : public UBaseRuneComponent
{
public:
	struct FWorldLocationRune                     Rune;                                              // 0x00A8(0x0030)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.WorldRotationRuneComponent
// 0x0018 (0x00C0 - 0x00A8)
class UWorldRotationRuneComponent final : public UBaseRuneComponent
{
public:
	struct FWorldRotationRune                     Rune;                                              // 0x00A8(0x0018)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

// Class Odin.WorldForwardRuneComponent
// 0x0018 (0x00C0 - 0x00A8)
class UWorldForwardRuneComponent final : public UBaseRuneComponent
{
public:
	struct FWorldForwardRune                      Rune;                                              // 0x00A8(0x0018)(Edit, NoDestructor, NativeAccessSpecifierPublic)

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

}

