Unity中委托的简单使用

问题描述:背包系统显示物品,当点击背包按钮跳出背包系统Panel,会显示出相应的物品。但当关闭这个Panel时,是隐藏了而不是Destroy,又不想将显示代码放到Update中。就想到了使用委托的方式。当物品发生改动时,触发委托,显示物品。

首先是定义委托。在InventoryList类中。

public delegate void Change();

public Change changeList;

public void ChangeInventoryList(int id, int num)

  {
        inventoryList[id].num += num;
        DelegateEvent();
  }

public void DelegateEvent()
 {
        changeList += ChangeList;
        changeList();
 }

 public void ChangeList()
 {}

当物品发生改变时(简单的数量改变),调用ChangeInventoryList()方法即可。之后就是背包系统页面了。

InventoryList.GetInstance().changeList += ShowItem;

ShowItem方法就是显示物品的方法,当任何地方调用了ChangeInventoryList(),都会调用ShowItem()方法。(当然前提是背包页面在层级面板上)

以上,就是简单的Unity中委托的简单使用。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值