首先是定义一个工厂的接口

public abstract class ICharacterFactory
{public Transform[] product;protected int flag;protected enum ENEMY : int{MianEnemy = 0,PigEnemy = 1,Boss = 2,Xiaoguai2=3}public abstract void CreatEnemy(GameObject enemy);
}

然后是实现工厂的方法

   public override void CreatEnemy(GameObject enemy){ENEMY n =(ENEMY) int.Parse(enemy.name);IEnmy BaseEnemy = null;switch (n){case ENEMY.MianEnemy:BaseEnemy = new MianEnemy();BaseEnemy.SetGameObject(product[0], enemy);BaseEnemy.GetGameObject().AddComponent<SmallMo>();break;..................}}

这是游戏设计模式进行的写法,所以将敌人的生产集中在了一起,然后通过传参数来进行选择,假如是有着不同种类的敌人,然后不同种类下面又划分了更多的分类的话,可以多实现几个工厂,再进行选择。
其中对人物属性的装配就统一写在了一个脚本里面,这样在进行工厂模式生产的时候,可以简化很多代码,更改的时候也只要在一个专门的脚本里面进行更改就可以。

然后是测试类,也就是生产:

public class CharacterSystem : MonoBehaviour
{ICharacterFactory factory = new CharacterFactory();public Transform[] pro;public GameObject[] mastor;public bool kaiguan = true;private void Start(){factory.product = pro;}private void Update(){if (Input.GetKeyDown(KeyCode.U)){factory.CreatEnemy(mastor[0]);}}
}

效果就差不多啦。

工厂模式建造小怪角色相关推荐

  1. 你以为工厂模式很简单,可能是因为你懂的只是冰山的一角

    很多人认为工厂模式很简单,只是有一个建造工厂,帮我们进行对象构造而已.那么请尝试回答下以下问题: 1.工厂模式分为几类? 2.GOF 23种设计模式中,工厂方法模式和抽象工厂模式有什么区别? 3.不在 ...

  2. Java中的简单工厂模式(转)

    Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...

  3. java不同工厂生产不同电器_完整案例分析再加知识整合——艾特抽象工厂模式,超详细的...

    抽象工厂模式 模式动机与定义 模式动机 产品等级结构:产品等级结构即产品的继承结构,例如一个抽象类是电视机,其子类有海尔电视机.海信电视机.TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产 ...

  4. Factory - 工厂模式

    在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一 ...

  5. 设计模式(一)工厂模式Factory(创建型)

    设计模式一 工厂模式Factory 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题. ...

  6. 创建型模式:工厂模式(简单工厂+工厂方法+抽象工厂)

    一.引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰).Bmw(宝马).Audi(奥迪)),还雇了司机为他开车.不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!& ...

  7. 手撕设计模式之「简单工厂模式」(Java描述)

    前言 利用简单工厂模式可以实现对象创建和业务逻辑处理的分离,但存在工厂类职责过重,增添新产品违背开闭原则等问题.它不属于GoF 23种设计模式之一,但是它可以作为学习工厂方法模式前的一个很好的引导. ...

  8. 抽象工厂模式(JAVA反射)

    实例代码(JAVA):模式动机 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法.但是 ...

  9. 设计模式 简单工厂模式

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂 ...

最新文章

  1. 一文读懂Spring中的AOP机制
  2. 1.20 正则表达式详解
  3. VTK:网格用法实战
  4. AccuREST Stub Runner发布
  5. linux shell 用sed命令在文本的行尾或行首添加字符
  6. easyExcel 使用指南详解
  7. python中的reindex_Pandas之ReIndex重新索引的实现
  8. 自写小函数处理 javascript 0.3*0.2 浮点类型相乘问题
  9. 002-用python设计的第一个游戏
  10. 安装深度linux系统卡住不动,简单有效!一招解决深度Linux死机问题
  11. 编码器控制电机正反转梯形图_怎么用编码器控制电机位移距离
  12. centos php ioncube_CentOS简单安装ioncube组件
  13. 如何在Mac上查找重复文件?
  14. html解压zip文件怎么打开方式,zip文件是什么文件,如何打开zip格式的文件?
  15. unity3d meshBaker教程(二) 自动合并
  16. 面试软实力:你在工作中遇到过印象深刻的困难是什么,你怎么克服的?
  17. pydev debugger: warning: trying to add breakpoint to file that does not exist
  18. 告诉我常用的L波段雷达有哪些
  19. 二叉树算法解题思路总结(一)
  20. 鸿蒙系统vivo能用吗,不是华为手机,也能用上鸿蒙系统

热门文章

  1. java名侦探柯南游戏大全_孩子们的游戏(圆圈中最后剩下的数),Java代码实现思路分享...
  2. 每天热点新闻早报十二条 365资讯简报 2020年11月26日 星期四
  3. 玩转输入法,打出不一样的符号
  4. Office软件优化技巧集锦
  5. HPEOneView试玩
  6. select......for update会锁表还是锁行。
  7. Windows 7 x64 (中/英文操作系统)安装SQLServer 2005版本相关解决方法
  8. 泰凌微8258入门教程 BLE篇②——BLE Single Connection 蓝牙BLE 软件架构
  9. DBSCAN聚类算法——机器学习(理论+图解+python代码)
  10. 运维工程师的从初级到高级的工作内容