#pragma once

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

// Package: BP_ItemBase

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "ST_ItemCoreDatas_structs.hpp"
#include "ENUM_ClassType_structs.hpp"
#include "ENUM_ItemBindType_structs.hpp"
#include "EN_StanType_structs.hpp"
#include "ENUM_HandType_structs.hpp"
#include "EN_DamageType_structs.hpp"
#include "ENUM_SaveDataUpdateType_structs.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass BP_ItemBase.BP_ItemBase_C
// 0x0198 (0x0440 - 0x02A8)
#pragma pack(push, 0x1)
class SDK_ALIGN(0x10) ABP_ItemBase_C : public AActor
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x02A8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UDeviceComponent_C*                     DeviceComonent;                                    // 0x02B0(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	class UStaticMeshComponent*                   StaticMesh;                                        // 0x02B8(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	double                                        DropPower;                                         // 0x02C0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	double                                        ActorSizeMultiply;                                 // 0x02C8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	struct FRotator                               HaveRotation;                                      // 0x02D0(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor)
	struct FVector                                Add_Position;                                      // 0x02E8(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TArray<class FString>                         KeyHaveName;                                       // 0x0300(0x0010)(Edit, BlueprintVisible, ExposeOnSpawn)
	int32                                         ItemSaveIndex;                                     // 0x0310(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_314[0xC];                                      // 0x0314(0x000C)(Fixing Size After Last Property [ Dumper-7 ])
	struct FTransform                             FirstTransform;                                    // 0x0320(0x0060)(Edit, BlueprintVisible, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TArray<class AActor*>                         SendToActor;                                       // 0x0380(0x0010)(Edit, BlueprintVisible, DisableEditOnTemplate)
	ENUM_ClassType                                Class_Type;                                        // 0x0390(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_391[0x3];                                      // 0x0391(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class FName                                   Bone_Name;                                         // 0x0394(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	class FName                                   Item_Name;                                         // 0x039C(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	int32                                         Durability;                                        // 0x03A4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	ENUM_ItemBindType                             Bind_Type;                                         // 0x03A8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          Not_Pick_Up;                                       // 0x03A9(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_3AA[0x6];                                      // 0x03AA(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FST_ItemCoreDatas                      ItemCoreDatas;                                     // 0x03B0(0x0070)(Edit, BlueprintVisible, Net, ExposeOnSpawn, HasGetValueTypeHash)
	class ABP_FirstPersonCharacter_Main_C*        OwnerCharacter;                                    // 0x0420(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnTemplate, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class FText                                   OptionTexts;                                       // 0x0428(0x0010)(Edit, BlueprintVisible, Config, DisableEditOnInstance)

public:
	void ExecuteUbergraph_BP_ItemBase(int32 EntryPoint);
	void PickState(bool State, class ABP_FirstPersonCharacter_Main_C* Character, int32 SlotIndex);
	void UpdateCoreDatas(const struct FST_ItemCoreDatas& CoreDatas);
	void CreateCoreData();
	void BPI_InteractStart(class ABP_FirstPersonCharacter_Main_C* First_Person);
	void Fix();
	void UpdateSave(int32 UpdateIndex, ENUM_SaveDataUpdateType LoadType);
	void DropItem(const struct FVector& Force_Vector, const struct FVector& CentorPosition);
	void SetMeshDatas(bool KeepScale);
	void Interact();
	void InteractItem();
	void BPI_InteractStart_Local_(class ABP_FirstPersonCharacter_Main_C* First_Person);
	void BPI_InteractEnd();
	void BPI_InteractStart_Server_(class ABP_FirstPersonCharacter_Main_C* First_Person);
	void Reload(bool PressState);
	void DamageToPlayerController(class AActor* TargetActor, double DamageValue, int32 TeamIndex, EN_DamageType DamageType, const struct FTransform& SourceAgentPoint, bool UnAvoidable, class FName DamageName, const struct FHitResult& HitRezult, class AActor* SourceActor);
	void StaminaDamage(double Value);
	void StanDamage(EN_StanType StanType);
	void SaveUpdateFunc();
	void GetOwnerPlayerState(class ABP_FirstPersonPlayerState_C** MyPlayerState);
	void GetParentCharacter(class ABP_FirstPersonCharacter_Main_C** FirstpersonCharacter);
	void GetKeyValues(TArray<class FString>* HaveKeys);
	void GetParryState(bool* State);
	void Damage(double DamageValue, int32 TeamIndex, EN_DamageType DamageType, const struct FTransform& SourceAgentPoint, bool UnAvoidable, class FName DamageName, class AActor* SourceActor, struct FFinishFilter* Finish);
	void View_In_Out_Function(int32 Stencil_Value);
	void UserConstructionScript();
	void Shot(bool PressState, double PushTime, class ABP_FirstPersonCharacter_Main_C* SourcePlayer);
	void Reset();
	void ReceiveBeginPlay();
	bool MS_IsInView(class AActor* Actor);
	void IsChangeImage(bool* IsInteract, class FText* OverrideText);
	void GetItemInfo(ENUM_HandType* HandType, ENUM_ClassType* ClassType, bool* NotPickUp, struct FRotator* HaveRotation_0, struct FVector* Add_Position_0, bool* IsBoneAttach, ENUM_ItemBindType* BindType, class FName* BoneName, struct FST_ItemCoreDatas* CoreDatas);
	void Change();
	void Aim(bool PressState);

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BP_ItemBase_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BP_ItemBase_C")
	}
	static class ABP_ItemBase_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<ABP_ItemBase_C>();
	}
};
#pragma pack(pop)
DUMPER7_ASSERTS_ABP_ItemBase_C;

SDK_NAMESPACE_END
