Skip to content

OldMoM/ReactiveProgramInUnity

Repository files navigation

ReactiveProgramInUnity

我打算以这份工程为例,分享我对Unity响应式编程的思路、看法,欢迎大家交流学习。Unity的响应式编程插件为UniRx,在GitHub与商店中可免费下载。

为什么要使用响应式编程

老实说,我是响应式编程的忠实粉丝。通过对其大量学习,我从中收获良多,从根本上重新塑造了我的程序设计思路。我认为响应式编程有以下好处:

  • 面向数据操作。使用Unity的响应式编程框架UniRx,我将游戏中的数据和代码逻辑分离,还能高效处理游戏中的各种event、callback。
  • 解耦。我相信大家都有过这样的经历:当程序变得庞大,各种类之间相互引用,形成很深的引用路径,整个程序都变得非常僵硬,每次对代码的修改都会引发额外的问题。通过使用响应式编程增加程序的柔性,我相信可以很好缓解这种症状。
  • 单元测试。如果没有单元测试,怎么证明代码是正确的呢?单元测试是程序设计的先导,也是重构、修改的护航者,贯穿整个版本迭代周期。使用UniRx,可以让代码变得更加易于测试。

什么是响应式编程

响应式编程延伸自观察者模式。我使用UniRx框架,将游戏逻辑中的各种event转换为数据流,然后将依据设定好的筛选条件,将这些数据发送到各种组件上面,指导各种组件进行运作。比如,将玩家按下攻击按钮作为事件onFireBtnPressed。每次,玩家按下Fire键,在通过一系列筛选判断后,将数据推送至武器组件,完成开火指令。

接下来的打算

我计划详细介绍与本项目相关的基础知识、设计思路和代码讲解。

About

我打算以这份工程为例,分享我对Unity响应式编程的思路、看法,欢迎大家交流学习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages