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 测试效果

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

相关推荐
白夜11174 小时前
C++任务调度与状态机
开发语言·c++·笔记
xian_wwq5 小时前
【学习笔记】储能系统的铁三角:BMS、PCS、EMS分别管啥
笔记·学习·储能系统
中屹指纹浏览器5 小时前
指纹浏览器自动化测试中的环境一致性与稳定性保障
经验分享·笔记
初圣魔门首席弟子5 小时前
深度学习复习笔记|多层感知机 (MLP):原理 + 从零实现 + 简洁实现
人工智能·笔记·深度学习
码途漫谈5 小时前
Easy-Vibe开发篇阅读笔记(十二)——后端开发之如何集成Stripe等收费系统
笔记·ai·开源·状态模式·ai编程
在下_诸葛6 小时前
langgraph学习笔记
笔记·python·学习·langgraph教程
yue2004036 小时前
Spring IoC 与 DI 核心概念与原理笔记
java·笔记·spring
码途漫谈6 小时前
Easy-Vibe开发篇阅读笔记(十三)——附录之用 Dify 搭建知识库问答系统
笔记·ai·开源·ai编程
十安_数学好题速析6 小时前
【多选】成比之道:巧解三角形中比例综合
笔记·学习·高考
Gin3876 小时前
头歌编译原理实验1《 第1关:词法分析程序设计与实现》
笔记