Unity之一天一个技术点(十九)--初学委托
来源:互联网 发布:双子星股票交易软件 编辑:程序博客网 时间:2024/05/01 09:07
委托这个对于C#初学者比较头疼,我也是看了半天资料才稍微弄懂一点,下面的代码还是挺简单的,也算用了委托这么逼格高的技术了。
using UnityEngine;using System.Collections;//三个军衔级别的命令类型// public enum TypeOfCommands{ General, Captain, Soldier}public class EventManager : MonoBehaviour{ //定义一个通用代理,根据传递类型,发送消息 public delegate void CommonUse(TypeOfCommands cmd); //定义一个事件发送三个军衔的命定 public static event CommonUse whenStep_CommonUse; //通用指令传递事件类型// public static void sendMessage_Common(TypeOfCommands toc) { whenStep_CommonUse(toc); }}
using UnityEngine;using System.Collections;public class MainLogic : MonoBehaviour{ public GUIText myGuiText;//用于显示消息的ui文字 void Start() { EventManager.whenStep_CommonUse += whenStep; } //根据命令类型,执行 void whenStep(TypeOfCommands toc) { switch (toc) { case TypeOfCommands.General: myGuiText.text = "i'm General,the captain should hear from me"; break; case TypeOfCommands.Captain: myGuiText.text = "i'm Captain,every soldier need to obey to me"; break; case TypeOfCommands.Soldier: myGuiText.text = "i'm soldier,i need to receive commands"; break; } } void OnGUI() { if(GUI.Button(new Rect(0,0,100,30),"General")) { EventManager.sendMessage_Common(TypeOfCommands.General); } if(GUI.Button(new Rect(0,50,100,30),"Captain")) { EventManager.sendMessage_Common(TypeOfCommands.Captain); } if(GUI.Button(new Rect(0,100,100,30),"Soldier")) { EventManager.sendMessage_Common(TypeOfCommands.Soldier); } } }
0 0
- Unity之一天一个技术点(十九)--初学委托
- Unity之一天一个技术点(四)---遮挡剔除
- Unity之一天一个技术点(八)---旋转问题
- Unity之一天一个技术点(十一)---抛物线效果
- Unity之一天一个技术点(七)---到包围盒的最近点
- Unity之一天一个技术点(十七)---射击游戏发射子弹
- Unity之一天一个技术点(十六)---狙击镜呼吸效果
- Unity之一天一个技术点(一)---移动中始终面对对象
- Unity之一天一个技术点(二)---全局控制物体是否显示
- Unity之一天一个技术点(三)---判断当前运行的平台
- Unity之一天一个技术点(九)---EasyTouch 旋转镜头
- Unity之一天一个技术点(六)---在线JS转C#代码
- Unity之一天一个技术点(十)---UI添加粒子特效
- Unity之一天一个技术点(十二)---指南针的实现
- Unity之一天一个技术点(十八)---让敌人缓慢转向,并且跟踪玩家
- Unity之一天一个技术点(十三)---以指定对象为中心,根据鼠标位置旋转照相机
- Unity之一天一个技术点(十四)---通过鼠标控制镜头绕着某物体旋转
- Unity之一天一个技术点(十五)---给unity3d的老版动画中,添加事件的方法
- Android Drawable 那些不为人知的高效用法
- 在spring来管理实例对象prototype和singleton的选择.针对action如何使用
- oracle_sql创建和删除表空间、数据库、用户
- 堆和栈的区别(转过无数次的文章)
- div显示与隐藏
- Unity之一天一个技术点(十九)--初学委托
- USB 设备的PID-Product ID, VID-Vendor ID
- Linux 命令行学习笔记
- App工程结构搭建:几种常见Android代码架构分析
- matlab画折线图
- 【JAVA图表】Jfreechart常用图表总结
- onInterceptTouchEvent、onTouchEvent、onTouch的使用
- oracle中设置自增主键
- Python 命名空间