strange IOC框架 塔防游戏实例应用 (五)
2017-03-23 11:11
393 查看
源码地址: http://pan.baidu.com/s/1hrApFFI (注 : 当时没写完的Demo工程,主要看看MVC分层)
应用场景: 开始关卡
顺序逻辑:Viiew的Mediator里监听开始关卡按钮 -》 把参数传递发出开始关卡事件 -》 Command与Model交互并读取参数开始相应关卡
1.Mediator代码
2.Command代码
应用场景: 开始关卡
顺序逻辑:Viiew的Mediator里监听开始关卡按钮 -》 把参数传递发出开始关卡事件 -》 Command与Model交互并读取参数开始相应关卡
1.Mediator代码
public class Mediator_Select : EventMediator { [Inject] public View_Select View_Select { get; set; } /// <summary> /// 监听初始化 /// </summary> public override void OnRegister() { View_Select.Init(); View_Select.BtnStart.onClick.AddListener(OnBtnStartClick); View_Select.BtnHelp.onClick.AddListener(OnBtnHelpClick); View_Select.BtnBack.onClick.AddListener(OnBtnBtnBackClick); dispatcher.AddListener(ViewEventType.InitLevelCard, OnInitLevelCard); } public void OnDestroy() { View_Select.BtnStart.onClick.RemoveListener(OnBtnStartClick); View_Select.BtnHelp.onClick.RemoveListener(OnBtnHelpClick); View_Select.BtnBack.onClick.RemoveListener(OnBtnBtnBackClick); dispatcher.RemoveListener(ViewEventType.InitLevelCard, OnInitLevelCard); } /// <summary> /// 传递参数并发出事件 /// </summary> void OnBtnStartClick() { Args_StartLevel e = new Args_StartLevel() { LevelIndex = View_Select.m_selectIndex }; dispatcher.Dispatch(EventType.StartLevel,e); } void OnBtnBtnBackClick() { Game.Instance.LoadScene(1); } void OnBtnHelpClick() { } void OnInitLevelCard(IEvent e) { Args_InitLevelCard ee = e.data as Args_InitLevelCard; View_Select.LoadCardLevels(ee.levels, ee.GameProgress); } }
2.Command代码
public class Command_StartLevel : EventCommand { [Inject] public Model_Game Model_Game { get; set; } public override void Execute() { Args_StartLevel e = evt.data as Args_StartLevel; Model_Game.StartLevel(e.LevelIndex); Game.Instance.LoadScene(3); } }
相关文章推荐
- strange IOC框架 塔防游戏实例应用 (一)
- strange IOC框架 塔防游戏实例应用 (二)
- strange IOC框架 塔防游戏实例应用 (三)
- strange IOC框架 塔防游戏实例应用 (四)
- StrangeIoc MVCS游戏框架
- 【StrangeIOC框架】 通过一个实例来理解MVCS结构
- Asp.net MVC 2.0 + Unity 2.0(IoC) + EF4.0 实例:RoRoWoBlog 开源项目框架代码
- quartz调度框架在web中应用实例
- ACE框架在网络游戏服务器中的设计与应用
- 技术沙龙.:主题为《代码解析Castle(IOC)应用实例 -开源CMS 系统Cuyahoga》
- Android OpenGL ES(六):创建实例应用OpenGLDemos程序框架
- ACE框架在网络游戏服务器中的设计与应用
- jQuery验证框架(八)应用实例 (jQuery validation)
- j2ee 设计框架 ibatis+spring+struts整合应用实例
- Linux下Gtest测试框架应用实例
- 采用CakePHP框架为Android应用快速搭建Web Service服务器及API接口的PHP代码实例
- iPhone企业应用实例分析之三:程序框架分析
- 以模态的形式显示应用到文档/视图框架结构实例
- ACE框架在网络游戏服务器中的设计与应用
- Java内部类应用实例:控制框架