#pragma once

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

// Package: HairStrandsSolver

#include "Basic.hpp"

#include "DataflowSimulation_structs.hpp"
#include "HairStrandsSolver_structs.hpp"
#include "Engine_classes.hpp"


SDK_NAMESPACE_START

// Class HairStrandsSolver.GroomSolverComponent
// 0x0260 (0x07D0 - 0x0570)
class UGroomSolverComponent final : public UMeshComponent
{
public:
	uint8                                         Pad_568[0x8];                                      // 0x0568(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FGroomSolverSettings                   SolverSettings;                                    // 0x0570(0x0068)(Edit, NativeAccessSpecifierPrivate)
	struct FDataflowSimulationAsset               SimulationAsset;                                   // 0x05D8(0x0058)(Edit, AdvancedDisplay, NativeAccessSpecifierPrivate)
	TSet<class UGroomComponent*>                  GroomComponents;                                   // 0x0630(0x0050)(Edit, ExportObject, EditConst, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMeshDeformer*                          MeshDeformer;                                      // 0x0680(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMeshDeformerInstance*                  DeformerInstance;                                  // 0x0688(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMeshDeformerInstanceSettings*          DeformerSettings;                                  // 0x0690(0x0008)(Edit, ExportObject, ZeroConstructor, EditConst, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_698[0x138];                                    // 0x0698(0x0138)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void AddGroomComponent(class UGroomComponent* GroomComponent);
	void RemoveGroomComponent(class UGroomComponent* GroomComponent);
	void ResetGroomComponents();
	void SetDeformerSolver(class UMeshDeformer* DeformerSolver);

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

SDK_NAMESPACE_END
