#pragma once

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

// Package: DataflowSimulation

#include "Basic.hpp"

#include "CoreUObject_classes.hpp"
#include "Engine_classes.hpp"


namespace SDK
{

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

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

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

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

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

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

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

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

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

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

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

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

// Class DataflowSimulation.DataflowSimulationManager
// 0x0068 (0x00A8 - 0x0040)
class UDataflowSimulationManager final : public UTickableWorldSubsystem
{
public:
	uint8                                         Pad_40[0x68];                                      // 0x0040(0x0068)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class DataflowSimulation.DataflowSimulationActor
// 0x0000 (0x0000 - 0x0000)
class IDataflowSimulationActor final
{
public:
	void PostDataflowSimulationTick(const float SimulationTime, const float DeltaTime);
	void PreDataflowSimulationTick(const float SimulationTime, const float DeltaTime);

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

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

}

