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,然后只在第一次获取时显示为新,在再次获取时仅增加其数量。