#pragma once

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

// Package: BP_Athena_Water

#include "Basic.hpp"

#include "BP_Athena_Water_classes.hpp"
#include "BP_Athena_Water_parameters.hpp"


namespace SDK
{

// Function BP_Athena_Water.BP_Athena_Water_C.ExecuteUbergraph_BP_Athena_Water
// (Final, UbergraphFunction, HasDefaults)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Athena_Water_C::ExecuteUbergraph_BP_Athena_Water(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "ExecuteUbergraph_BP_Athena_Water");

	Params::BP_Athena_Water_C_ExecuteUbergraph_BP_Athena_Water Parms{};

	Parms.EntryPoint = EntryPoint;

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.BouncePawn
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class APlayerPawn_Athena_C*             Pawn                                                   (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Athena_Water_C::BouncePawn(class APlayerPawn_Athena_C* Pawn)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "BouncePawn");

	Params::BP_Athena_Water_C_BouncePawn Parms{};

	Parms.Pawn = Pawn;

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.ReplicateGCVehicles
// (Net, NetMulticast, BlueprintCallable, BlueprintEvent)
// Parameters:
// class AActor*                           Actor                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Athena_Water_C::ReplicateGCVehicles(class AActor* Actor)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "ReplicateGCVehicles");

	Params::BP_Athena_Water_C_ReplicateGCVehicles Parms{};

	Parms.Actor = Actor;

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.SetDefaultMaterial
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::SetDefaultMaterial()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "SetDefaultMaterial");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.ClearRecentlyBounced
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::ClearRecentlyBounced()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "ClearRecentlyBounced");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.BounceVehicle
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::BounceVehicle()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "BounceVehicle");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.PlayBounceGC
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class AActor*                           Target                                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Athena_Water_C::PlayBounceGC(class AActor* Target)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "PlayBounceGC");

	Params::BP_Athena_Water_C_PlayBounceGC Parms{};

	Parms.Target = Target;

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.BndEvt__Box_K2Node_ComponentBoundEvent_1_ComponentBeginOverlapSignature__DelegateSignature
// (HasOutParams, BlueprintEvent)
// Parameters:
// class UPrimitiveComponent*              OverlappedComponent                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class AActor*                           OtherActor                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UPrimitiveComponent*              OtherComp                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32                                   OtherBodyIndex                                         (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    bFromSweep                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// struct FHitResult                       SweepResult                                            (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, ContainsInstancedReference)

void ABP_Athena_Water_C::BndEvt__Box_K2Node_ComponentBoundEvent_1_ComponentBeginOverlapSignature__DelegateSignature(class UPrimitiveComponent* OverlappedComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const struct FHitResult& SweepResult)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "BndEvt__Box_K2Node_ComponentBoundEvent_1_ComponentBeginOverlapSignature__DelegateSignature");

	Params::BP_Athena_Water_C_BndEvt__Box_K2Node_ComponentBoundEvent_1_ComponentBeginOverlapSignature__DelegateSignature Parms{};

	Parms.OverlappedComponent = OverlappedComponent;
	Parms.OtherActor = OtherActor;
	Parms.OtherComp = OtherComp;
	Parms.OtherBodyIndex = OtherBodyIndex;
	Parms.bFromSweep = bFromSweep;
	Parms.SweepResult = std::move(SweepResult);

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.Bouncy
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::Bouncy()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "Bouncy");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.BndEvt__Box_K2Node_ComponentBoundEvent_0_ComponentHitSignature__DelegateSignature
// (HasOutParams, BlueprintEvent)
// Parameters:
// class UPrimitiveComponent*              HitComponent                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class AActor*                           OtherActor                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class UPrimitiveComponent*              OtherComp                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// struct FVector                          NormalImpulse                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// struct FHitResult                       Hit                                                    (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ReferenceParm, IsPlainOldData, NoDestructor, ContainsInstancedReference)

void ABP_Athena_Water_C::BndEvt__Box_K2Node_ComponentBoundEvent_0_ComponentHitSignature__DelegateSignature(class UPrimitiveComponent* HitComponent, class AActor* OtherActor, class UPrimitiveComponent* OtherComp, const struct FVector& NormalImpulse, const struct FHitResult& Hit)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "BndEvt__Box_K2Node_ComponentBoundEvent_0_ComponentHitSignature__DelegateSignature");

	Params::BP_Athena_Water_C_BndEvt__Box_K2Node_ComponentBoundEvent_0_ComponentHitSignature__DelegateSignature Parms{};

	Parms.HitComponent = HitComponent;
	Parms.OtherActor = OtherActor;
	Parms.OtherComp = OtherComp;
	Parms.NormalImpulse = std::move(NormalImpulse);
	Parms.Hit = std::move(Hit);

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.SetBouncy
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    Bouncy                                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)

void ABP_Athena_Water_C::SetBouncy(bool Bouncy)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "SetBouncy");

	Params::BP_Athena_Water_C_SetBouncy Parms{};

	Parms.Bouncy = Bouncy;

	UObject::ProcessEvent(Func, &Parms);
}


// Function BP_Athena_Water.BP_Athena_Water_C.SetTurnedOnMaterial
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::SetTurnedOnMaterial()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "SetTurnedOnMaterial");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.SetSpreadMaterial
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::SetSpreadMaterial()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "SetSpreadMaterial");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.ReceiveBeginPlay
// (Event, Protected, BlueprintEvent)

void ABP_Athena_Water_C::ReceiveBeginPlay()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "ReceiveBeginPlay");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.UserConstructionScript
// (Event, Public, BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::UserConstructionScript()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "UserConstructionScript");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.OnRep_IsBouncy
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::OnRep_IsBouncy()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "OnRep_IsBouncy");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Athena_Water.BP_Athena_Water_C.OnRep_BounceLake
// (BlueprintCallable, BlueprintEvent)

void ABP_Athena_Water_C::OnRep_BounceLake()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Athena_Water_C", "OnRep_BounceLake");

	UObject::ProcessEvent(Func, nullptr);
}

}

