Unity StrangeICO框架学习

前言

此文是用来学习StrangeIOC框架,记录一下学习的过程,如果有错误欢迎大佬们指出

在这里插入图片描述1.创建Root根目录 取名为Demo01ContextView,继承为ContextView,主要作用为创建一个MVCSContext
在这里插入图片描述
在这里插入图片描述

2.启动MVCSContext,创建Demo01Context类,继承为MVCSContext
在这里插入图片描述
在这里插入图片描述
3.在Demo01ContextView启动MVCSContext

  1. 在Demo01Context提供一个构造函数
    在这里插入图片描述

  2. 在Demo01ContextView启动MVCSContext
    在这里插入图片描述

  3. 在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的更新

  1. 创建脚本Demo01MediatorEvent(枚举类型)
    在这里插入图片描述

  2. 在CubeMediator中添加一个更新分数UI显示的方法
    在这里插入图片描述

  3. 在OnRegister中注册在这里插入图片描述

  4. 在OnRemove中移除在这里插入图片描述

  5. RequesterScoreCommand中添加一个全局的dispatcher在这里插入图片描述

  6. 在RequesterScoreCommand中的OnComlete方法中调用在这里插入图片描述

  7. 此时回掉用CubeMediator中的OnScoreChange方法,在OnScoreChange方法通过cubeview调用更新分数的方法在这里插入图片描述

12.数据模型的绑定和数据的保存

  1. 绑定数据模型在这里插入图片描述

  2. 在RequesterScoreCommand注入model在这里插入图片描述

  3. 在OnComlete更新分数
    . 在这里插入图片描述

13.加分处理和分数更新到服务器

  1. 在CubeMediator中创建一个添加分数的方法

在这里插入图片描述
2. 在CubeView中提供一个dispatcher

在这里插入图片描述

  1. Demo01MediatorEvent枚举脚本中添加新的事件名在这里插入图片描述

  2. 在CubeMediator中的OnRegister方法中通过cubeView里的dispatcher绑定更新分数的方法在这里插入图片描述

  3. 在OnRemove移除
    在这里插入图片描述

  4. 在CubeView通过dispatcher发送事件在这里插入图片描述

  5. 创建更新分数的Command在这里插入图片描述

  6. Demo01CommandEvent枚举脚本中添加新的事件名在这里插入图片描述

  7. 绑定更新分数的Command在这里插入图片描述

  8. 在CubeMediator中的OnClickDown方法中调用在这里插入图片描述

  9. 在UpdateScoreCommand处理分数的更新在这里插入图片描述

14.分数更新到试图View上

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言 unity框架,除了各大公司自己内部使用的,开源并好用的实际并不是很多,我会慢慢挖掘,依次写出自己的一点见解,错误的地方,望各路大神指正。 一、基本概念 控制反转(Inversion of Control,英文缩写为IOC),我的理解就是,原本A类要获取B类的对象,需要你在A类中自己New一个对象,那么是由A来获取并控制B的对象,IOC就是把对象获取的这个过程交给容器和依赖注入来处理,A类并不知道B的对象是哪里来的,对B对象的控制,由自己变成了其他类,官方一点的概念可以百度,这个还是蛮多的。 二、StrangeIOC基础类型 实际要理解一个框架的类型,还是要自己看源码,这里我只说一下几个重要类型的作用,这个看源码的时候有个印象,也方便理解,而且说这部分的帖子也很多,我就不再赘述了。 1.Context 上下文组件定义程序边界,也就是可以把一个程序定义成多上下文,让代码更加模块化 它提供了程序入口,也算是框架中耦合度最高的地方 2.Binder和Binding 这两个类是这个框架最重要的组成部分 Binding存储了对象的绑定关系,而Binder存储了Binding的对象 3.View和Mediator MVCS中的View层,View只用于显示,也就是View只负责管理UI,Mediator负责界面逻辑,事件响应等 4.Model MVCS中的Model层,负责数据部分 5.Command MVCS中的Control层,负责执行逻辑代码 6.Service MVCS中的Service层,负责与第三方交互,这个Service我理解的,并不是一定指代服务器,也可以是其他的软件,什么都可以,它就是我们程序对外的接口 7.Dispatcher 派发器是框架内通信主线的其中一种,用来派发消息,触发命令,从而进一步解耦 8.Signal 信号是框架内另外一种通信主线,它采用强类型,来绑定信号和命令之间的关系,实现消息响应的触发 9.ReflectionBinder 反射部分,通过binding来获取类的信息,存储在ReflectedClass中 10.injector 注入器,通过反射获取的信息,来实例化请求的对象 --------------------- 作者:蓝天小僧 来源:CSDN 原文:https://blog.csdn.net/zcaixzy5211314/article/details/80876228 版权声明:本文为博主原创文章,转载请附上博文链接!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值