// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "ProjectFish/DataAsset/BagConfigAsset.h" /** * */ class PROJECTFISHEDITOR_API SBagConfigEditorWidget: public SCompoundWidget { public: SLATE_BEGIN_ARGS(SBagConfigEditorWidget) {} SLATE_ARGUMENT(UBagConfigAsset*, BagConfigAsset) SLATE_END_ARGS() void Construct(const FArguments& InArgs); // // 设置要编辑的背包类 // void UpdateBagConfig(UBagConfigAsset* InBagConfig); private: TWeakObjectPtr BagConfig; // 当前选中的技能对象 TWeakObjectPtr SelectedSkillAsset; // 是否处于放置模式 bool bIsPlacingSkill; // 选中的技能索引 int32 SelectedSkillIndex; // UI组件 TSharedPtr BagGridWidget; //TSharedPtr SkillListWidget; // 回调函数 FReply OnAddSkillClicked(); FReply OnRemoveSkillClicked(); FReply OnClearAllSkillsClicked(); // BagShapeAsset选择回调 void OnBagShapeAssetChanged(const FAssetData& AssetData); // 技能选择回调 void OnSkillAssetChanged(const FAssetData& AssetData); // // 技能选择回调 // void OnSkillSelected(int32 SkillIndex); // // 格子点击回调 void OnGridCellClicked(int32 X, int32 Y); // 刷新UI void RefreshUI(); // 显示警告消息 void ShowWarningMessage(const FString& Message); };