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

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

相关推荐
Long_poem5 分钟前
【自学笔记】MySQL的重点知识点-持续更新
数据库·笔记·mysql
Xiaouuuuua7 小时前
多项日常使用测试,带你了解如何选择AI工具 Deepseek VS ChatGpt VS Claude
笔记
鲁子狄9 小时前
[笔记] 极狐GitLab实例 : 手动备份步骤总结
linux·运维·笔记·ubuntu·centos·gitlab
花生_TL0000712 小时前
C语言小笔记(一)
c语言·开发语言·笔记
siy233312 小时前
[C语言日寄] <stdio.h> 头文件功能介绍
c语言·笔记·学习·算法
Good Note12 小时前
Golang笔记——常用库context和runtime
开发语言·redis·笔记·后端·面试·golang·春招
Suwg20914 小时前
《Effective Java》学习笔记——第7部分并发
java·笔记·学习
Ronin-Lotus15 小时前
上位机知识篇---Linux的shell脚本&搜索、查找、管道
linux·笔记·学习·shell脚本·管道·搜索·查找
先知demons16 小时前
【无标题】
笔记