#pragma once

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

// Package: AthenaSeasonReward

#include "Basic.hpp"

#include "AthenaSeasonReward_classes.hpp"
#include "AthenaSeasonReward_parameters.hpp"


namespace SDK
{

// Function AthenaSeasonReward.AthenaSeasonReward_C.ExecuteUbergraph_AthenaSeasonReward
// (Final, UbergraphFunction)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::ExecuteUbergraph_AthenaSeasonReward(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "ExecuteUbergraph_AthenaSeasonReward");

	Params::AthenaSeasonReward_C_ExecuteUbergraph_AthenaSeasonReward Parms{};

	Parms.EntryPoint = EntryPoint;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.BP_OnClicked
// (Event, Protected, BlueprintEvent)

void UAthenaSeasonReward_C::BP_OnClicked()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "BP_OnClicked");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.ViewItem
// (BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::ViewItem()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "ViewItem");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.PlayIntro
// (BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::PlayIntro()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "PlayIntro");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.BP_OnHovered
// (Event, Protected, BlueprintEvent)

void UAthenaSeasonReward_C::BP_OnHovered()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "BP_OnHovered");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.Setup
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UFortItem*                        InItemToRepresent                                      (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// bool                                    Claimed                                                (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// bool                                    Locked                                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// bool                                    LevelAchieved                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// bool                                    bOwned                                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// EFortItemCardSize                       ItemCardSize                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32                                   Quantity                                               (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::Setup(class UFortItem* InItemToRepresent, bool Claimed, bool Locked, bool LevelAchieved, bool bOwned, EFortItemCardSize ItemCardSize, int32 Quantity)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "Setup");

	Params::AthenaSeasonReward_C_Setup Parms{};

	Parms.InItemToRepresent = InItemToRepresent;
	Parms.Claimed = Claimed;
	Parms.Locked = Locked;
	Parms.LevelAchieved = LevelAchieved;
	Parms.bOwned = bOwned;
	Parms.ItemCardSize = ItemCardSize;
	Parms.Quantity = Quantity;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.SetState
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    Claimed                                                (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// bool                                    Locked                                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// bool                                    LevelAchieved                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)
// bool                                    bOwned                                                 (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)

void UAthenaSeasonReward_C::SetState(bool Claimed, bool Locked, bool LevelAchieved, bool bOwned)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "SetState");

	Params::AthenaSeasonReward_C_SetState Parms{};

	Parms.Claimed = Claimed;
	Parms.Locked = Locked;
	Parms.LevelAchieved = LevelAchieved;
	Parms.bOwned = bOwned;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.SetViewOnHover
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// bool                                    ShouldViewOnHover                                      (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)

void UAthenaSeasonReward_C::SetViewOnHover(bool ShouldViewOnHover)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "SetViewOnHover");

	Params::AthenaSeasonReward_C_SetViewOnHover Parms{};

	Parms.ShouldViewOnHover = ShouldViewOnHover;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.EnableRarityFlare
// (Public, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::EnableRarityFlare()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "EnableRarityFlare");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.SetSecondaryItem
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UFortItem*                        Param_SecondaryItem                                    (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::SetSecondaryItem(class UFortItem* Param_SecondaryItem)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "SetSecondaryItem");

	Params::AthenaSeasonReward_C_SetSecondaryItem Parms{};

	Parms.Param_SecondaryItem = Param_SecondaryItem;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.ViewInVault
// (Private, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// TArray<class UFortItem*>                Additional_Items                                       (ConstParm, BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)

void UAthenaSeasonReward_C::ViewInVault(const TArray<class UFortItem*>& Additional_Items)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "ViewInVault");

	Params::AthenaSeasonReward_C_ViewInVault Parms{};

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

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.ViewInVaultByUser
// (Private, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::ViewInVaultByUser()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "ViewInVaultByUser");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.BeginCyclingVariants
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::BeginCyclingVariants()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "BeginCyclingVariants");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.StopCyclingVariants
// (Public, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::StopCyclingVariants()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "StopCyclingVariants");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.ShowNextVariant
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::ShowNextVariant()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "ShowNextVariant");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.OnVaultItemsChanged
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// TArray<class UFortItem*>                Items                                                  (BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)

void UAthenaSeasonReward_C::OnVaultItemsChanged(TArray<class UFortItem*>& Items)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "OnVaultItemsChanged");

	Params::AthenaSeasonReward_C_OnVaultItemsChanged Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

	Items = std::move(Parms.Items);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.GetAthenaItemCharacterItemDefinition
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UAthenaCharacterItemDefinition*   AsAthena_Character_Item_Definition                     (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::GetAthenaItemCharacterItemDefinition(class UAthenaCharacterItemDefinition** AsAthena_Character_Item_Definition)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "GetAthenaItemCharacterItemDefinition");

	Params::AthenaSeasonReward_C_GetAthenaItemCharacterItemDefinition Parms{};

	UObject::ProcessEvent(Func, &Parms);

	if (AsAthena_Character_Item_Definition != nullptr)
		*AsAthena_Character_Item_Definition = Parms.AsAthena_Character_Item_Definition;
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.StartVariantTimer
// (Public, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// float                                   OverrideTimer                                          (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::StartVariantTimer(float OverrideTimer)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "StartVariantTimer");

	Params::AthenaSeasonReward_C_StartVariantTimer Parms{};

	Parms.OverrideTimer = OverrideTimer;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.CancelVariantTimer
// (Public, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::CancelVariantTimer()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "CancelVariantTimer");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.ResetVariantToDefault
// (Public, BlueprintCallable, BlueprintEvent)

void UAthenaSeasonReward_C::ResetVariantToDefault()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "ResetVariantToDefault");

	UObject::ProcessEvent(Func, nullptr);
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.SetupQuantity
// (Public, BlueprintCallable, BlueprintEvent)
// Parameters:
// int32                                   Quantity                                               (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::SetupQuantity(int32 Quantity)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "SetupQuantity");

	Params::AthenaSeasonReward_C_SetupQuantity Parms{};

	Parms.Quantity = Quantity;

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


// Function AthenaSeasonReward.AthenaSeasonReward_C.GetItem
// (Public, HasOutParams, BlueprintCallable, BlueprintEvent, BlueprintPure)
// Parameters:
// class UFortItem*                        Result                                                 (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UAthenaSeasonReward_C::GetItem(class UFortItem** Result)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "GetItem");

	Params::AthenaSeasonReward_C_GetItem Parms{};

	UObject::ProcessEvent(Func, &Parms);

	if (Result != nullptr)
		*Result = Parms.Result;
}


// Function AthenaSeasonReward.AthenaSeasonReward_C.GetTemporaryItems
// (Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintEvent, Const)
// Parameters:
// TArray<struct FFortCosmeticVariantPreviewElement>Cosmetics                                              (BlueprintVisible, BlueprintReadOnly, Parm, OutParm, ZeroConstructor, ReferenceParm)
// TArray<class UFortItem*>                Temporary_Items                                        (Parm, OutParm, ZeroConstructor)

void UAthenaSeasonReward_C::GetTemporaryItems(TArray<struct FFortCosmeticVariantPreviewElement>& Cosmetics, TArray<class UFortItem*>* Temporary_Items) const
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("AthenaSeasonReward_C", "GetTemporaryItems");

	Params::AthenaSeasonReward_C_GetTemporaryItems Parms{};

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

	UObject::ProcessEvent(Func, &Parms);

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

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

}

