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

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

相关推荐
optimistic_chen39 分钟前
【Java EE进阶 --- SpringBoot】AOP原理
spring boot·笔记·后端·java-ee·开源·aop
AA陈超2 小时前
UE5笔记:OnComponentBeginOverlap
c++·笔记·学习·ue5·虚幻引擎
培风图楠2 小时前
Java个人学习笔记
java·笔记·学习
@游子3 小时前
内网渗透笔记-Day1
笔记
lkbhua莱克瓦243 小时前
Java进阶——集合进阶(MAP)
java·开发语言·笔记·github·学习方法·map
optimistic_chen4 小时前
【Java EE进阶 --- SpringBoot】Spring事务
java·spring boot·笔记·spring·java-ee·事务
序属秋秋秋4 小时前
《Linux系统编程之进程基础》【进程状态】
linux·运维·c语言·c++·笔记·操作系统·进程状态
因为奋斗超太帅啦4 小时前
Git分布式版本控制工具学习笔记(一)——git本地仓库的基本使用
笔记·git·学习
可可苏饼干5 小时前
LVS服务器
linux·运维·笔记·学习·lvs
四谎真好看5 小时前
Java 黑马程序员学习笔记(进阶篇27)
java·开发语言·笔记·学习·学习笔记