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

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

相关推荐
咩咩觉主6 小时前
C# &Unity 唐老狮 No.6 模拟面试题
开发语言·unity·面试·c#·游戏引擎·唐老师
蓑衣客VS索尼克8 小时前
单片机中的基础外设GPIO的知识和应用—(6)
笔记·stm32·单片机·嵌入式硬件
虾球xz8 小时前
游戏引擎学习第147天
数据库·学习·游戏引擎
HELLOMILI9 小时前
第四章:反射-Reflecting Your World《Unity Shaders and Effets Cookbook》
游戏·unity·游戏引擎·游戏程序·图形渲染·材质·着色器
柒十三.10 小时前
江科大51单片机笔记【10】蜂鸣器(上)
笔记·嵌入式硬件·51单片机
虾球xz11 小时前
游戏引擎学习第146天
学习·ffmpeg·游戏引擎
小沙盒11 小时前
godot在_process()函数实现非阻塞延时触发逻辑
javascript·游戏引擎·godot
飞向星河13 小时前
SV学习笔记——数组、队列
笔记·学习·c#
北顾南栀倾寒13 小时前
[算法笔记]cin和getline的并用、如何区分两个数据对、C++中std::tuple类
笔记·算法
末零14 小时前
Unity 取色板
unity·游戏引擎