当前位置: 首页 > news >正文

一元抢宝网站开发哈尔滨制作网站的公司

一元抢宝网站开发,哈尔滨制作网站的公司,网站文字列表页模板,asp源码下载Unity实现设计模式——状态模式 状态模式最核心的设计思路就是将对象的状态抽象出一个接口,然后根据它的不同状态封装其行为,这样就可以实现状态和行为的绑定,最终实现对象和状态的有效解耦。 在实际开发中一般用到FSM有限状态机的实现&…

Unity实现设计模式——状态模式

状态模式最核心的设计思路就是将对象的状态抽象出一个接口,然后根据它的不同状态封装其行为,这样就可以实现状态和行为的绑定,最终实现对象和状态的有效解耦。

在实际开发中一般用到FSM有限状态机的实现,GF框架中的FSM和流程控制就是基于这个原理实现的。
在这里插入图片描述

1.State(状态的抽象基类)

    public abstract class State{protected Context m_Context = null;public State(Context theContext){m_Context = theContext;}public abstract void Handle(int Value);}

2.ConcreteStateA,ConcreteStateB,ConcreteStateC

状态State的子类

    /// <summary>/// 状态A/// </summary>public class ConcreteStateA : State{public ConcreteStateA(Context theContext) : base(theContext){ }public override void Handle(int Value){Debug.Log("ConcreteStateA.Handle");if (Value > 10)m_Context.SetState(new ConcreteStateB(m_Context));}}/// <summary>/// 状态B/// </summary>public class ConcreteStateB : State{public ConcreteStateB(Context theContext) : base(theContext){ }public override void Handle(int Value){Debug.Log("ConcreteStateB.Handle");if (Value > 20)m_Context.SetState(new ConcreteStateC(m_Context));}}/// <summary>/// 状态C/// </summary>public class ConcreteStateC : State{public ConcreteStateC(Context theContext) : base(theContext){ }public override void Handle(int Value){Debug.Log("ConcreteStateC.Handle");if (Value > 30)m_Context.SetState(new ConcreteStateA(m_Context));}}

3.Context

Context类-持有目前的状态,并将相关信息传给状态

    public class Context{State m_State = null;public void Request(int Value){m_State.Handle(Value);}public void SetState(State theState){Debug.Log("Context.SetState:" + theState);m_State = theState;}}

4.测试代码

    public class StatePatternExample5 : MonoBehaviour{void Start(){UnitTest();}void UnitTest(){Context theContext = new Context();theContext.SetState(new ConcreteStateA(theContext));theContext.Request(5);theContext.Request(15);theContext.Request(25);theContext.Request(35);}}
http://www.yayakq.cn/news/662645/

相关文章:

  • 免费做爰网站企业网站项目的流程
  • 网站制作类软件推荐app制作费用多少钱
  • 网站建设 通知关于要求建设网站的请示
  • 常州转化率网站建设公司怎么样在线建站哪个网站好
  • 福永网站建设成都网站建设中心
  • .net网站开发环境网站建设招标文件范本
  • 网站制作需要多少钱新闻产品推广策略怎么写
  • 网站顶部悬浮导航代码怎么维护好网站
  • 郴州网站策划黄骅港引航站
  • wordpress全站启用ssl张戈网上国网app下载交电费
  • 电子系网站建设方案推进门户网站建设方案
  • 淮南网站建设好的公司域名申请哪个网站好
  • 贵阳优化网站建设定位网站关键词
  • 外贸如何做网站推广专门做茶叶会的音乐网站
  • 北京做网站的价格福田的网站建设公司
  • 蒙古文网站建设工作情况汇报188旅游网站管理系统
  • 华为商城网站设计wordpress浏览次数插件
  • 网页素材网站免费网站建设时间影响因素
  • aspcms 你的网站未安装 请先安装与铁路建设相关的网站
  • 免费建设外贸网站做图赚钱的网站有哪些
  • 云南热搜科技做网站不给源码安平县哪个做网站的好
  • 云端设计高端网站建设怎么成立自己的网站
  • 合肥知名建站公司网站结构分类
  • 整体网站构架wordpress自定义文章代码和样式
  • 南宁网站建设哪家公司实做网站宣传
  • 具有价值的网站建设中淼建设工程有限公司网站
  • 网站建设技术入股合同google广告投放技巧
  • 长春百度网站优化重庆网站开发设计公司电话
  • 怎么套模板做网站酒店网站策划书
  • wordpress 下载网站模板个人主页介绍