Unity中EventHandler与EventArgs的使用
来源:互联网 发布:nosql数据库那个最火 编辑:程序博客网 时间:2024/06/11 06:22
首先EventArgs是一个类,如:
public class EventArgs{ }
Action m_Action这样的委托,只是他给定义好的一个,内部是这样的:
public delegate void EventHandler(object sender, TEventArgs e)
下面是使用,一个是没有参数,一个是有参数,参数的意思就是EventArgs中是否有数据
using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerControl : MonoBehaviour{ /// <summary> /// 移动结束后触发 /// </summary> public event EventHandler MoveComplete; public event EventHandler<PlayerMoveEventArgs> MoveCompleteHandle;void Start () {}void Update () { if (Input.GetMouseButtonDown(0)) { //PlayerMoveComplete(); PlayerMoveCompleteHandle(); }} private void PlayerMoveComplete() { if(MoveComplete != null) MoveComplete(this,EventArgs.Empty); } private void PlayerMoveCompleteHandle() { if (MoveCompleteHandle != null) { PlayerMoveEventArgs player = new PlayerMoveEventArgs("HHHHHHHH"); MoveCompleteHandle(this, player); } }}
管理类:
using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class GameManager : MonoBehaviour{ public static GameManager Instance; public PlayerControl Player; void Awake() { Instance = this; }void Start (){ //Player.MoveComplete += HandleMoveComplete; Player.MoveCompleteHandle += PlayerMoveCompleteHandle;} void HandleMoveComplete(object sender, EventArgs e) { Debug.Log("1111111"); } void PlayerMoveCompleteHandle(object sender, PlayerMoveEventArgs e) { PlayerMoveEventArgs player = e as PlayerMoveEventArgs; Debug.Log(e.Messgae); }}public class PlayerMoveEventArgs : EventArgs{ private string m_Message; public string Messgae { get { return m_Message; } } public PlayerMoveEventArgs(string m) { m_Message = m; }}
阅读全文
0 0
- Unity中EventHandler与EventArgs的使用
- EventArgs、EventHandler
- 模板在EventHandler 和EventArgs的应用
- MOSS中EventHandler的使用
- CallBack EventHandler<EventArgs>
- 在SharePoint中使用EventHandler。
- C#中关于EventHandler使用的一些理解
- C# 中object sender与EventArgs e
- Unity中Sqlite的配置与使用
- c# 中 EventHandler<TEventArgs>的 异步调用
- java中EventHandler的详细用法
- C# EventHandler and Delegate(委托的使用)
- C# EventHandler and Delegate(委托的使用)
- C# EventHandler and Delegate(委托的使用)
- C# EventHandler and Delegate(委托的使用)
- C# EventHandler and Delegate(委托的使用)
- 第一章、C#委托和事件(Delegate、Event、EventHandler、EventArgs)
- C#委托和事件(Delegate、Event、EventHandler、EventArgs)
- 抽象数据类型线性表的基本操作(个人学习)
- maximum recursion depth exceeded while calling a Python object
- 第八周项目三
- 十 项目1(2)
- 《java与模式》-13 装饰模式
- Unity中EventHandler与EventArgs的使用
- 第十一周-项目4
- session和cookie机制
- DeepLearning-聊一聊深度学习的weight initialization
- 带缩略图的纯图片jq幻灯片插件
- ceph RADOS架构 monitor
- 插入排序、折半插入排序、希尔排序(缩小增量排序)
- java.lang.ClassNotFoundException
- C语言积累