Unity背包系统三 : 检测背包内物品是否为新

1、给Slot的右上角添加一个文字游戏物体,让其默认处于关闭状态
在这里插入图片描述

2、在Slot代码中获得组件

	public Image slotImage;
    public Button showDetailsBtn;
    public GameObject newObj
    [HideInInspector]public ItemSO slotItemSO;//生成后传递过来
    public string slotID;//检测是否为新

2、在之前的学习中,我们每获取一个物品都会将其加入packageList这个列表中,在这里我们可以给每个物品的数据(ItemSO)设置一个ID,然后循环已经加入列表中的物品(Slot)的ID,如果不存在就显示右上角的“新”
(1)设置ID
在这里插入图片描述
(这个是Unity内置的一个设置ID的方法,直接调用即可)
(2)循环packageList中的ID检测是否为新
在这里插入图片描述
(3)在生成Slot时执行,并将每一个Item中的ItemSO转递给Slot
在这里插入图片描述
注意: ID的设置一定要在检测之前进行

(4)点击后不在为新
在这里插入图片描述
在Slot代码中,之前的点击按钮中设置关闭“新”的显示,并将Slot中的slotID同步itemSO中设置的ID,这样我们就实现了获取物品显示为“新”的功能。


这只是其中的一种检测方法,这个方法会将所有获得的物体显示为新,你也可以尝试将相同的物品根据其类型添加相同的ID,然后只在第一次获取时显示为新,在再次获取时仅增加其数量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值