#pragma once

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

// Package: PropertyPath

#include "Basic.hpp"

#include "CoreUObject_classes.hpp"
#include "PropertyPath_structs.hpp"


namespace SDK
{

// Class PropertyPath.PropertyPathTestObject
// 0x0158 (0x0180 - 0x0028)
class UPropertyPathTestObject final : public UObject
{
public:
	bool                                          Bool;                                              // 0x0028(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EPropertyPathTestEnum                         EnumOne;                                           // 0x0029(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EPropertyPathTestEnum                         EnumTwo;                                           // 0x002A(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EPropertyPathTestEnum                         EnumThree;                                         // 0x002B(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EPropertyPathTestEnum                         EnumFour;                                          // 0x002C(0x0001)(Edit, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2D[0x3];                                       // 0x002D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         Integer;                                           // 0x0030(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_34[0x4];                                       // 0x0034(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class FString                                 String;                                            // 0x0038(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         float_0;                                           // 0x0048(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4C[0x4];                                       // 0x004C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FPropertyPathTestStruct                Struct;                                            // 0x0050(0x0060)(Edit, BlueprintVisible, DisableEditOnInstance, NativeAccessSpecifierPublic)
	struct FPropertyPathTestStruct                StructRef;                                         // 0x00B0(0x0060)(Edit, BlueprintVisible, DisableEditOnInstance, NativeAccessSpecifierPublic)
	struct FPropertyPathTestStruct                StructConstRef;                                    // 0x0110(0x0060)(Edit, BlueprintVisible, DisableEditOnInstance, NativeAccessSpecifierPublic)
	class UPropertyPathTestObject*                InnerObject;                                       // 0x0170(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	uint8                                         Pad_178[0x8];                                      // 0x0178(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetFloat(float InFloat);
	void SetStruct(const struct FPropertyPathTestStruct& InStruct);
	void SetStructConstRef(const struct FPropertyPathTestStruct& InStruct);
	void SetStructRef(const struct FPropertyPathTestStruct& InStruct);

	float GetFloat() const;
	struct FPropertyPathTestStruct GetStruct() const;
	const struct FPropertyPathTestStruct GetStructConstRef() const;
	struct FPropertyPathTestStruct GetStructRef() const;

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

}

