Green 发表于 2021-7-20 20:45:53

C# 事件编程在游戏开发的应用

2D碰撞检测:http://wenku.baidu.com/view/45544cfcfab069dc50220145.html

1.Action
System.Action 等于快捷创建一个委托

2.Action<T>
// 使用泛型方式定义
    public void CallUI<T>(Action<T, object[]> callback, params object[] args) where T : CUIBase使用
    CUIManager.Instance.CallUI<CUIMidMsg>(
            (_ui, _arg) => _ui.ShowMsg((string)_arg),
            string.Format(szMsg, format));
3.Func<T, TResult>
封装具有参数并返回TResult的方法例如:System.Func<CHero, Vector2, bool> _Teleport = null;

4.EventHandler<TEventArgs>

public delegate void EventHandler<TEventArgs>(
    Object sender,
    TEventArgs e
)TEventArgs 由该事件生成的事件数据的类型Object Sender:事件源TEventArgs e:包含事件数据的args
5.读表反射执行函数
技能表中的Name列对应代码中的功能函数,如下图所示:

Skill中的技能全部做成功能单元,让策划填表自由组合  
注:本文写于2014-05-30,一直躺在草稿箱,现才发布


文档来源:51CTO技术博客https://blog.51cto.com/zhaoqingqing/3146430
页: [1]
查看完整版本: C# 事件编程在游戏开发的应用