Unity 回调 监听与广播 一些简单理解
1.回调方法
了解这个得先去了解委托。
1.UIItem类 这个类用来被实例化
回调就是在实例化一个对象的同时,将某个方法注册到里面。
例如:
1:UIItem这个类中,声明了一个以UIItem为参数、返回值为void的委托类型变量ItemAction。
2:在IninItem方法中,给一些属性赋值,给ItemAction赋值(这个值必须参数是UIItem类型,且没有返回值)。
3:添加相应事件。这里通过一个方法ItemClick()去执行ItemAction这个委托所存的方法。
using System.Net.Mime;
using UnityEngine;
using System.Collections;
using System;
using UnityEngine.UI;
public class UIItem : MonoBehaviour
{
public Text Item;
//声明一个委托类型变量
private Action<UIItem> ItemAction;
public string type;
private string Type{
get{
return this.type;}
set{
this.type = value;}
}
public string itemName;
private string ItemName{
get{
return this.name;}
set{
this.itemName = value;}
}
public Vector3 pos;
private Vector3 Pos{
get{
return this.pos;}
set{
this.pos = value;}
}
/// <summary>
/// Item初始化函数
/// </summary>
/// <param name="name">控制脚本传进来的Name</param>
/// <param name="action">回调函数</param>
public void InitItem(string name, string _type, Action<UIItem> action)
{
Item.text = name;
this.itemName = name;
this.type = _type;
ItemAction = action;
}
public void InitItem(string name, string _type, Vector3 _go, Action<UIItem> action)
{
Item.text = name;
this.itemName = name;
this.type = _type;
this.pos = _go;
ItemAction = action;
}
/// <summary>
/// Item点击函数
/// </summary>
public void