Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]

Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]

本Demo主要实现一个简单的左右移动(使用StrangeIoC框架),效果如下图:
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第1张图片

  • 首先新建一个空的Unity工程,导入StrangeIoC框架,导入素材
    如下图
    这里写图片描述

图片素材
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第2张图片

  • 新建几个工作目录文件夹和几个基本的文件,如下图
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第3张图片

  • 创建GameEvent和PressType枚举类型
    代码如下:
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第4张图片

  • 创建模型类Model
    代码如下:
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第5张图片
    模型很简单,没什么好说的

  • 创建MoveView和对应的MoveMediator
    MoveView代码如下:
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第6张图片

MoveMediator代码如下:
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第7张图片

MoveView里面获取用户输入的Input X轴的参数,,然后发送消息,,
MoveMediator监听 ,,进行进一步的操作,,(发给Controller进一步处理)
- 创建MoveStopCommand
代码如下:
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第8张图片

这里MoveStopCommand接收,MoveMediator发送过来的事件,并获取对应的Model数据,,
根据Model数据里面的type来进一步执行操作,,
- 创建PlayerView和对应的PlayerMediator
PlayerView代码如下:
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第9张图片
PlayerMediator代码如下:
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第10张图片

这里PlayerMediator接收MoveStopCommand发送过来的事件,将事件监听转发到注入的View上面执行对应的方法,View上面的方法可获取对应的Model数据,,根据Model数据来进一步执行具体的移动操作或停止移动操作,,
- 创建Context类和入口
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第11张图片

Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第12张图片

  • PlayerView配置
    新建空GameObject,改名为PlayerView,更改图片类型,添加2D刚体组件,添加PlayerView脚本
    如下图:
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第13张图片

  • MoveView配置
    新建空GameObject,改名为MoveView,添加MoveView脚本即可,
    如下图:
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第14张图片

  • ContextView配置
    新建空GameObject,改名为GameBootstap,添加MyShotGameBootstrap脚本即可
    Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第15张图片

最终场景图:
Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第16张图片

Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]_第17张图片

运行游戏,即可实现 左右移动飞船的效果

你可能感兴趣的:(Unity3D)