【XFramework】—— 流程

流程

1.介绍

  流程是这个框架比较重要的一个概念,我们以下图(有箭头指向的每个方块都是一个流程)为例,假设我们现在有一个游戏么,有两种玩法,一是自由行动, 玩家可以在一个大地形中看风景,与NPC交谈;二是战斗,玩家搭建自己的战斗队形迎战来敌。

  正常玩游戏的时候当然是先进菜单选择,选择游戏模式后进入不同的玩法。但我们在开发过程中如果每次都要从开始界面进入就太麻烦了,我们应当可以从任何一个关键点进入游戏,这就引入了流程的概念。当然,这就需要我们在设计的时候每个流程尽量不依赖于之前的流程,比如下图的自由行动,与它相关的配置项应当在游戏一开时就配制好或者在该流程开始时配置,而不能在菜单选择的时候配置该流程所必须的东西。

  当然也有其他情况,比如下图的战斗流程,假设我们战斗系统在开始前必须进行一些战斗配置,而这又是两个不一样的流程,那么我们在进入战斗之前必须先进入战斗配置也是没有问题的,但是,战斗配置和自由行动一样,不可以依赖于菜单选择。当然,如果我们在战斗系统未进行配置的时候给它一个默认配置也就可以直接进入战斗了。具体情况具体对待吧。

捕获.JPG

2.流程的选择

  场景中挂载一个Game脚本,它不会随着场景切换而销毁,在点Play之前从这里选择当前要进入的流程

920bc9d1670dd73d00e444161f7263e.png

3.流程的忽略

  一个流程如果必须要依赖于别的流程使用的话,则不应该被选择为开始流程,可以给该流程类添加HideInEditor属性,这样就不会在Game脚本的Inspector面板上出现。

4.流程切换

  流程的开始框架已经自动做了,现在你只需要在合适时候调用流程管理器的流程切换就可以了。

/// <summary>
/// 流程切换
/// </summary>
/// <typeparam name="TProcedure"></typeparam>
public void ChangeProcedure<TProcedure>() where TProcedure : ProcedureBase
{
      m_Fsm.ChangeState<TProcedure>();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一款轻量级的Delphi通用系统UI框架,基于MlSkin皮肤组件构建 功能特性(Feature): 框架UI界面设计简洁、轻量、时尚和风格统一,代码一看就懂,容易上手和维护 框架代码部分采用模块化设计,代码之间的耦合度低,旧工程项目的代码可以方便快速的部署迁移到此框架框架包含了一个模拟程序启动时初始化加载窗体界面 框架包含了一个实用的用户登录窗体界面 主界面使用了多标签样式来加载显示子窗体,标签支持单独关闭和拖动位置 在主界面左侧使用了多级功能列表的导航栏,有图标显示,可收缩和展开,都在一个独立窗体中易维护 包含了一个简洁大方的常规列表效果演示子窗体 包含了一个列表内容中有圆形头像、彩字和按钮的特殊效果的演示子窗体 包含了一些常用的按钮,部分按钮上支持角标显示,复制到其它窗体就可以直接使用 包含了一些常用的文本编辑框,基本上也是复制到其它窗体就能使用 包含了一些各类风格的文本标签、复选框、单选框、下拉框和简易列表的效果演示界面 包含了一个进度条加载任务的演示界面,里面还有几类不同风格的进度条的展示 包含了一套系统选项设置窗体(由多个子窗体组成),里面有一个通用的选项管理类代码可供参考使用 更多功能还会继续加入进去,已购买的用户可享受不限时间、不限次数的免费升级
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值