UE求职Demo开发日志#21 背包-仓库-装备栏移动物品
1 创建一个枚举记录来源位置
UENUM(BlueprintType)
enum class EMyItemLocation : uint8
{
None=0,
Bag UMETA(DisplayName = "Bag"),
Armed UMETA(DisplayName = "Armed"),
WareHouse UMETA(DisplayName = "WareHouse"),
};
2 创建一个BagPad和WarePad都有的UI
虽然巨丑但是先这样:
左边是背包,右边是仓库
3 分情况重写swap函数
背包-装备栏
装备栏-背包
背包-仓库
仓库-背包
装备栏-仓库
仓库-装备栏
这些swap函数根本上是传入FMyItemInfo数组的引用不同,提取一下
因为写的太史了,我就不出来丢人了,反正最后实现了:
测试效果:
本来所有物品都在左边的背包里,这些位置都是后来换上去的
//TODO:装备物品限制,装备后调用计算属性函数并更新属性信息