#pragma once

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

// Package: MoverExamples

#include "Basic.hpp"

#include "MoverExamples_classes.hpp"
#include "MoverExamples_parameters.hpp"


SDK_NAMESPACE_START

// Function MoverExamples.MoverExampleAbilityInputsLibrary.GetMoverExampleAbilityInputs
// (Final, Native, Static, Public, HasOutParams, BlueprintCallable)
// Parameters:
// const struct FMoverDataCollection&      FromCollection                                         (ConstParm, Parm, OutParm, ReferenceParm, NativeAccessSpecifierPublic)
// struct FMoverExampleAbilityInputs       ReturnValue                                            (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)

struct FMoverExampleAbilityInputs UMoverExampleAbilityInputsLibrary::GetMoverExampleAbilityInputs(const struct FMoverDataCollection& FromCollection)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = StaticClass()->GetFunction("MoverExampleAbilityInputsLibrary", "GetMoverExampleAbilityInputs");

	Params::MoverExampleAbilityInputsLibrary_GetMoverExampleAbilityInputs Parms{};

	Parms.FromCollection = std::move(FromCollection);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	GetDefaultObj()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function MoverExamples.MoverExamplesCharacter.OnProduceInputInBlueprint
// (Event, Protected, BlueprintEvent)
// Parameters:
// float                                   DeltaMs                                                (Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FMoverInputCmdContext&     InputCmd                                               (Parm, NativeAccessSpecifierPublic)
// struct FMoverInputCmdContext            ReturnValue                                            (Parm, OutParm, ReturnParm, NativeAccessSpecifierPublic)

struct FMoverInputCmdContext AMoverExamplesCharacter::OnProduceInputInBlueprint(float DeltaMs, const struct FMoverInputCmdContext& InputCmd)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("MoverExamplesCharacter", "OnProduceInputInBlueprint");

	Params::MoverExamplesCharacter_OnProduceInputInBlueprint Parms{};

	Parms.DeltaMs = DeltaMs;
	Parms.InputCmd = std::move(InputCmd);

	UObject::ProcessEvent(Func, &Parms);

	return Parms.ReturnValue;
}


// Function MoverExamples.MoverExamplesCharacter.RequestMoveByIntent
// (Native, Public, HasOutParams, HasDefaults, BlueprintCallable)
// Parameters:
// const struct FVector&                   DesiredIntent                                          (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void AMoverExamplesCharacter::RequestMoveByIntent(const struct FVector& DesiredIntent)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("MoverExamplesCharacter", "RequestMoveByIntent");

	Params::MoverExamplesCharacter_RequestMoveByIntent Parms{};

	Parms.DesiredIntent = std::move(DesiredIntent);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function MoverExamples.MoverExamplesCharacter.RequestMoveByVelocity
// (Native, Public, HasOutParams, HasDefaults, BlueprintCallable)
// Parameters:
// const struct FVector&                   DesiredVelocity                                        (ConstParm, Parm, OutParm, ZeroConstructor, ReferenceParm, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

void AMoverExamplesCharacter::RequestMoveByVelocity(const struct FVector& DesiredVelocity)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("MoverExamplesCharacter", "RequestMoveByVelocity");

	Params::MoverExamplesCharacter_RequestMoveByVelocity Parms{};

	Parms.DesiredVelocity = std::move(DesiredVelocity);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


// Function MoverExamples.MoverExamplesCharacter.GetMoverComponent
// (Final, Native, Public, BlueprintCallable, BlueprintPure, Const)
// Parameters:
// class UCharacterMoverComponent*         ReturnValue                                            (ExportObject, Parm, OutParm, ZeroConstructor, ReturnParm, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class UCharacterMoverComponent* AMoverExamplesCharacter::GetMoverComponent() const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("MoverExamplesCharacter", "GetMoverComponent");

	Params::MoverExamplesCharacter_GetMoverComponent Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function MoverExamples.Zipline.GetEndComponent
// (Native, Event, Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USceneComponent*                  ReturnValue                                            (ExportObject, Parm, OutParm, ZeroConstructor, ReturnParm, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class USceneComponent* IZipline::GetEndComponent()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Zipline", "GetEndComponent");

	Params::Zipline_GetEndComponent Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	AsUObject()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function MoverExamples.Zipline.GetStartComponent
// (Native, Event, Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class USceneComponent*                  ReturnValue                                            (ExportObject, Parm, OutParm, ZeroConstructor, ReturnParm, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

class USceneComponent* IZipline::GetStartComponent()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = AsUObject()->Class->GetFunction("Zipline", "GetStartComponent");

	Params::Zipline_GetStartComponent Parms{};

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	AsUObject()->ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;

	return Parms.ReturnValue;
}


// Function MoverExamples.FollowSplineMode.SetControlSpline
// (Final, Native, Public, BlueprintCallable)
// Parameters:
// const class AActor*                     SplineProviderActor                                    (ConstParm, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
// const struct FSplineOffsetRangeInput&   Offset                                                 (Parm, NoDestructor, NativeAccessSpecifierPublic)

void UFollowSplineMode::SetControlSpline(const class AActor* SplineProviderActor, const struct FSplineOffsetRangeInput& Offset)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("FollowSplineMode", "SetControlSpline");

	Params::FollowSplineMode_SetControlSpline Parms{};

	Parms.SplineProviderActor = SplineProviderActor;
	Parms.Offset = std::move(Offset);

	auto Flgs = Func->FunctionFlags;
	Func->FunctionFlags |= 0x400;

	UObject::ProcessEvent(Func, &Parms);

	Func->FunctionFlags = Flgs;
}


SDK_NAMESPACE_END
