#pragma once

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

// Package: BP_Protein

#include "Basic.hpp"

#include "BP_Protein_classes.hpp"
#include "BP_Protein_parameters.hpp"


SDK_NAMESPACE_START

// Function BP_Protein.BP_Protein_C.UseItem
// (BlueprintCallable, BlueprintEvent)

void ABP_Protein_C::UseItem()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "UseItem");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Protein.BP_Protein_C.Shot
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    PressState_Shot                                        (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  PushTime_Shot                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class ABP_FirstPersonCharacter_Main_C*  SourcePlayer_Shot                                      (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::Shot(bool PressState_Shot, double PushTime_Shot, class ABP_FirstPersonCharacter_Main_C* SourcePlayer_Shot)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "Shot");

	Params::BP_Protein_C_Shot Parms{};

	Parms.PressState_Shot = PressState_Shot;
	Parms.PushTime_Shot = PushTime_Shot;
	Parms.SourcePlayer_Shot = SourcePlayer_Shot;

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


// Function BP_Protein.BP_Protein_C.SetMeshDatas
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    KeepScale_SetMeshDatas                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::SetMeshDatas(bool KeepScale_SetMeshDatas)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "SetMeshDatas");

	Params::BP_Protein_C_SetMeshDatas Parms{};

	Parms.KeepScale_SetMeshDatas = KeepScale_SetMeshDatas;

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


// Function BP_Protein.BP_Protein_C.ReceiveBeginPlay
// (Event, Protected, BlueprintEvent)

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

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

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Protein.BP_Protein_C.PickState
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    State_PickState                                        (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class ABP_FirstPersonCharacter_Main_C*  Character_PickState                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// int32                                   SlotIndex_PickState                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::PickState(bool State_PickState, class ABP_FirstPersonCharacter_Main_C* Character_PickState, int32 SlotIndex_PickState)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "PickState");

	Params::BP_Protein_C_PickState Parms{};

	Parms.State_PickState = State_PickState;
	Parms.Character_PickState = Character_PickState;
	Parms.SlotIndex_PickState = SlotIndex_PickState;

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


// Function BP_Protein.BP_Protein_C.OnNotifyEnd_B624065C408A21AB39805CBF1EDA7D0B
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnNotifyEnd_B624065C408A21AB39805CBF1EDA7D0B(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnNotifyEnd_B624065C408A21AB39805CBF1EDA7D0B");

	Params::BP_Protein_C_OnNotifyEnd_B624065C408A21AB39805CBF1EDA7D0B Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnNotifyEnd_8C09DE9F41762B9037D01C9BF92CC68C
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnNotifyEnd_8C09DE9F41762B9037D01C9BF92CC68C(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnNotifyEnd_8C09DE9F41762B9037D01C9BF92CC68C");

	Params::BP_Protein_C_OnNotifyEnd_8C09DE9F41762B9037D01C9BF92CC68C Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnNotifyBegin_B624065C408A21AB39805CBF1EDA7D0B
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnNotifyBegin_B624065C408A21AB39805CBF1EDA7D0B(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnNotifyBegin_B624065C408A21AB39805CBF1EDA7D0B");

	Params::BP_Protein_C_OnNotifyBegin_B624065C408A21AB39805CBF1EDA7D0B Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnNotifyBegin_8C09DE9F41762B9037D01C9BF92CC68C
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnNotifyBegin_8C09DE9F41762B9037D01C9BF92CC68C(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnNotifyBegin_8C09DE9F41762B9037D01C9BF92CC68C");

	Params::BP_Protein_C_OnNotifyBegin_8C09DE9F41762B9037D01C9BF92CC68C Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnInterrupted_B624065C408A21AB39805CBF1EDA7D0B
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnInterrupted_B624065C408A21AB39805CBF1EDA7D0B(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnInterrupted_B624065C408A21AB39805CBF1EDA7D0B");

	Params::BP_Protein_C_OnInterrupted_B624065C408A21AB39805CBF1EDA7D0B Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnInterrupted_8C09DE9F41762B9037D01C9BF92CC68C
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnInterrupted_8C09DE9F41762B9037D01C9BF92CC68C(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnInterrupted_8C09DE9F41762B9037D01C9BF92CC68C");

	Params::BP_Protein_C_OnInterrupted_8C09DE9F41762B9037D01C9BF92CC68C Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnCompleted_B624065C408A21AB39805CBF1EDA7D0B
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnCompleted_B624065C408A21AB39805CBF1EDA7D0B(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnCompleted_B624065C408A21AB39805CBF1EDA7D0B");

	Params::BP_Protein_C_OnCompleted_B624065C408A21AB39805CBF1EDA7D0B Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnCompleted_8C09DE9F41762B9037D01C9BF92CC68C
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnCompleted_8C09DE9F41762B9037D01C9BF92CC68C(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnCompleted_8C09DE9F41762B9037D01C9BF92CC68C");

	Params::BP_Protein_C_OnCompleted_8C09DE9F41762B9037D01C9BF92CC68C Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnBlendOut_B624065C408A21AB39805CBF1EDA7D0B
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnBlendOut_B624065C408A21AB39805CBF1EDA7D0B(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnBlendOut_B624065C408A21AB39805CBF1EDA7D0B");

	Params::BP_Protein_C_OnBlendOut_B624065C408A21AB39805CBF1EDA7D0B Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.OnBlendOut_8C09DE9F41762B9037D01C9BF92CC68C
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             NotifyName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::OnBlendOut_8C09DE9F41762B9037D01C9BF92CC68C(class FName NotifyName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "OnBlendOut_8C09DE9F41762B9037D01C9BF92CC68C");

	Params::BP_Protein_C_OnBlendOut_8C09DE9F41762B9037D01C9BF92CC68C Parms{};

	Parms.NotifyName = NotifyName;

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


// Function BP_Protein.BP_Protein_C.IsChangeImage
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool*                                   IsInteract_IsChangeImage                               (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class FText*                            OverrideText_IsChangeImage                             (Parm, OutParm)

void ABP_Protein_C::IsChangeImage(bool* IsInteract_IsChangeImage, class FText* OverrideText_IsChangeImage)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "IsChangeImage");

	Params::BP_Protein_C_IsChangeImage Parms{};

	UObject::ProcessEvent(Func, &Parms);

	if (IsInteract_IsChangeImage != nullptr)
		*IsInteract_IsChangeImage = Parms.IsInteract_IsChangeImage;

	if (OverrideText_IsChangeImage != nullptr)
		*OverrideText_IsChangeImage = std::move(Parms.OverrideText_IsChangeImage);
}


// Function BP_Protein.BP_Protein_C.ExecuteUbergraph_BP_Protein
// (Final, UbergraphFunction, HasDefaults)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::ExecuteUbergraph_BP_Protein(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "ExecuteUbergraph_BP_Protein");

	Params::BP_Protein_C_ExecuteUbergraph_BP_Protein Parms{};

	Parms.EntryPoint = EntryPoint;

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


// Function BP_Protein.BP_Protein_C.DefaultMontagePlay
// (BlueprintCallable, BlueprintEvent)

void ABP_Protein_C::DefaultMontagePlay()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "DefaultMontagePlay");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Protein.BP_Protein_C.Combo
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  TimeRange                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class FName                             ComboName                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::Combo(double TimeRange, class FName ComboName)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "Combo");

	Params::BP_Protein_C_Combo Parms{};

	Parms.TimeRange = TimeRange;
	Parms.ComboName = ComboName;

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


// Function BP_Protein.BP_Protein_C.CollisionReset
// (Public, BlueprintCallable, BlueprintEvent)

void ABP_Protein_C::CollisionReset()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "CollisionReset");

	UObject::ProcessEvent(Func, nullptr);
}


// Function BP_Protein.BP_Protein_C.Attack_AC_Remote
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  TimeRange                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class FName                             ComponentName                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  DamageMultiply                                         (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  StanMultiply                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::Attack_AC_Remote(double TimeRange, class FName ComponentName, double DamageMultiply, double StanMultiply)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "Attack_AC_Remote");

	Params::BP_Protein_C_Attack_AC_Remote Parms{};

	Parms.TimeRange = TimeRange;
	Parms.ComponentName = ComponentName;
	Parms.DamageMultiply = DamageMultiply;
	Parms.StanMultiply = StanMultiply;

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


// Function BP_Protein.BP_Protein_C.Attack_AC
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// double                                  TimeRange                                              (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// class FName                             AttackName                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  DamageMultiply                                         (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    MutipleHitPossible                                     (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// double                                  StanMultiply                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void ABP_Protein_C::Attack_AC(double TimeRange, class FName AttackName, double DamageMultiply, bool MutipleHitPossible, double StanMultiply)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "Attack_AC");

	Params::BP_Protein_C_Attack_AC Parms{};

	Parms.TimeRange = TimeRange;
	Parms.AttackName = AttackName;
	Parms.DamageMultiply = DamageMultiply;
	Parms.MutipleHitPossible = MutipleHitPossible;
	Parms.StanMultiply = StanMultiply;

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


// Function BP_Protein.BP_Protein_C.ApplyDamage
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UObject*                          OtherActor                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)
// const struct FHitResult&                Sweep_Result                                           (BlueprintVisible, BlueprintReadOnly, Parm, IsPlainOldData, NoDestructor, ContainsInstancedReference)

void ABP_Protein_C::ApplyDamage(class UObject* OtherActor, const struct FHitResult& Sweep_Result)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("BP_Protein_C", "ApplyDamage");

	Params::BP_Protein_C_ApplyDamage Parms{};

	Parms.OtherActor = OtherActor;
	Parms.Sweep_Result = std::move(Sweep_Result);

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


SDK_NAMESPACE_END
