Unity-工厂模式
Unity-工厂模式
引言
在一个游戏中,时常需要动态创建一些游戏对象,例如:怪物的生成、道具的掉落、等,这些操作都需要我们动态的生成对象。
如果我们在创建对象的时候,让一个专门创建对象的实例,持有需要创建的对象的引用,也同样能够实现上述的功能,但是如果这么做,代码的复用性会非常低:我们在需要创建不同的对象的时候,都需要重新再写一套代码。因此,我们需要一个能够动态创建对象的方法,来解决上述的问题。
工厂模式的应用
通过对工厂模式的使用,可以 动态的创建游戏中需要的对象。例如:当敌人死亡时,就构造对应的掉落物品;当玩家进入特殊地形时,就构造对应的敌人。
代码实现
代码逻辑
- 首先最重要的就是要创建我们的工厂类,其中包含创建对象的函数。
- 创建对象的需求可能在游戏的任何时候都需要用到,因此我们可以将其定为单例模式(Singleton)
- 需要创建哪个类的对象,事先是无从得知的,因此需要通过Type.getType()的方法获取对应的类
代码实现
根据上述逻辑创建我们的工厂类:
1 | using System; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 MMMMrD!