UE求职Demo开发日志#12 完善击杀获得物品逻辑和UI

1 实现思路

1.给WarehouseManager添加一个按TArray增加物品的函数

2.Enemy身上一个变量记录掉落物品,死亡时调用增加物品函数

3.同时调用UI显示

2 实现过程

2.1 在WarehouseManager里添加一个AddItemByArray函数

遍历数组调用添加函数

cpp 复制代码
void UWarehouseManager::AddItemByArray(TArray<FMyItemInfo> ItemsToAdd)
{
	for(int32 i = 0; i < ItemsToAdd.Num(); i++)
	{
		AddItemToWarehouse(ItemsToAdd[i].ItemId,ItemsToAdd[i].CurrentOwnedCnt,ItemsToAdd[i].DisplayName);
	}
}

2.2 在Enemy中添加RewardItems变量

cpp 复制代码
UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="Items")
TArray<FMyItemInfo> RewardItems;

在蓝图中设置值:

(之后测试用的新的值)

在死亡逻辑处调用:

LogMes是打印仓库信息的函数

输出信息:

能看出来正确添加了

2.3 添加UI

新建一个容器,实现Show函数,动态创建

创建完加一个延时移除:

每个单元里要实现更新信息的函数:

最后在Enemy死亡时加入显示UI的逻辑:

3 测试效果

左侧的提示是敌人死亡时动态添加的

相关推荐
Starry_hello world1 小时前
MySql 表的约束
数据库·笔记·mysql·有问必答
scoone2 小时前
开源游戏引擎Bevy 和 Godot
游戏引擎·godot
霸王•吕布3 小时前
游戏引擎中的粒子系统
游戏引擎·粒子系统·粒子发射盒·粒子物理参数·粒子实例·粒子生命周期·粒子参数
汇能感知6 小时前
摄像头模块在运动相机中的应用
经验分享·笔记·科技
2401_8769075210 小时前
Python基础笔记
笔记
风已经起了10 小时前
FPGA学习笔记——IIC协议简介
笔记·学习·fpga开发
牧子与羊10 小时前
自学中医笔记(二)
笔记
lingggggaaaa10 小时前
小迪安全v2023学习笔记(六十二讲)—— PHP框架反序列化
笔记·学习·安全·web安全·网络安全·php·反序列化
我们从未走散12 小时前
JVM学习笔记-----StringTable
jvm·笔记·学习
小徐小徐编程不急12 小时前
unity实现背包拖拽排序
unity·游戏引擎