前言
此文是用来学习StrangeIOC框架,记录一下学习的过程,如果有错误欢迎大佬们指出
1.创建Root根目录 取名为Demo01ContextView,继承为ContextView,主要作用为创建一个MVCSContext
2.启动MVCSContext,创建Demo01Context类,继承为MVCSContext
3.在Demo01ContextView启动MVCSContext
-
在Demo01Context提供一个构造函数
-
在Demo01ContextView启动MVCSContext
-
在MVCSContext进行绑定,重写mapBindings
4.创建开始的Command,并进行绑定
在mapBindings进行绑定
5.创建分数的Model数据层
6.创建Service层
(1)创建Service的接口
(2)创建Service层
7.视图层CubeView
1.创建cube,假装要玩的游戏,是视图层
2.添加脚本CubeView,继承View
3.创建一个初始化方法取名为Init
4.实现cube每帧的随机移动,鼠标点击后加分
8.视图层的CubeMediator
(1)添加脚本CubeMediator,继承Mediator
(2)重写OnRegister方法和OnRemove方法
(3)得到一个cubeView对象
(4)完成mediator和view的绑定
9.请求分数的命令RequestScoreCommand
(1)创建RequesterScoreCommand,继承Command
(2)重写Execute方法
(3)在cubeMediator里创建dispatcher
(4)创建一个Event 取名为Demo01CommandEvent 类改为枚举,变量为 RequesterScore
(5)完成事件和Command的绑定
(6)在CubeMediator通过dispatcher发起请求分数的命名。调用RequesterScoreCommand中的Execute方法
(7)在Execute方法中发起请求(也就是发起Service请求,调用Service中的RequestScore的方法)
(8)在RequesterScoreCommand定义Service
(9)完成Service的注入绑定
(10)在RequestScoreCommand中的Execute发起请求
10.请求分数Service请求的回调
(1)在RequesterScoreCommand中定义一个方法,OnComlete
(2)在Service的接口中定义一个dispatcher
(3)在ScoreService中实现这个接口
(4)通过dispatcher注册方法
(5)RequestCommand通过dispatcher添加监听器
(6)添加Service对应的Event
(7)在ScoreService通过dispatcher中的Dispatch完成回调
11.处理分数的回调和View的更新
-
创建脚本Demo01MediatorEvent(枚举类型)
-
在CubeMediator中添加一个更新分数UI显示的方法
-
在OnRegister中注册
-
在OnRemove中移除
-
RequesterScoreCommand中添加一个全局的dispatcher
-
在RequesterScoreCommand中的OnComlete方法中调用
-
此时回掉用CubeMediator中的OnScoreChange方法,在OnScoreChange方法通过cubeview调用更新分数的方法
12.数据模型的绑定和数据的保存
-
绑定数据模型
-
在RequesterScoreCommand注入model
-
在OnComlete更新分数
.
13.加分处理和分数更新到服务器
- 在CubeMediator中创建一个添加分数的方法
2. 在CubeView中提供一个dispatcher
-
Demo01MediatorEvent枚举脚本中添加新的事件名
-
在CubeMediator中的OnRegister方法中通过cubeView里的dispatcher绑定更新分数的方法
-
在OnRemove移除
-
在CubeView通过dispatcher发送事件
-
创建更新分数的Command
-
Demo01CommandEvent枚举脚本中添加新的事件名
-
绑定更新分数的Command
-
在CubeMediator中的OnClickDown方法中调用
-
在UpdateScoreCommand处理分数的更新
14.分数更新到试图View上