Procedure-GameFramework游戏框架搭建教程

Fsm模块在上一篇文章中已经完成,我们便可以开始着手Procedure模块源码开发

首先新建一个Procedure文件夹,在其中新建ProcedureBase类ProcedureManager类

image

其中

ProcedureBase是流程基类,属于一种状态

ProcedureManager是流程管理器,负责管理所有流程。

打开ProcedureBase,使其继承FsmState<ProcedureManager>,并重写两个生命周期方法

/// <summary>

/// 流程基类

/// </summary>

public class ProcedureBase : FsmState<ProcedureManager>

{

    public override void OnEnter(Fsm<ProcedureManager> fsm)

    {

        base.OnEnter(fsm);

        Debug.Log("进入流程:" + GetType().FullName);

    }

    public override void OnLeave(Fsm<ProcedureManager> fsm, bool isShutdown)

    {

        base.OnLeave(fsm, isShutdown);

        Debug.Log("离开流程:" + GetType().FullName);

    }

}

之后打开ProcedureManager,使其继承ManagerBase,并添加对应的字段与属性,在构造方法里初始化一部分

image

添加流程的相关方法

    public void AddProcedure(ProcedureBase procedure)

    {

        if (procedure == null)

        {

            Debug.LogError("要添加的流程为空");

            return;

        }

        m_procedures.Add(procedure);

    }

    /// <param name="procedure"></param>

    public void SetEntranceProcedure(ProcedureBase procedure)

    {

        m_EntranceProcedure = procedure;

    }

添加创建流程状态机的方法

image

怎么样,是不是很简单呢?因为我们在编写Fsm时已经把Procedure需要的大部分东西都写好了

025源码论坛声明 1、本网站中的绝大部分资源来源于网络, 本网站不保证所有资源的正确性和安全性,不为其合法性负责.
2、对于一切使用本网站资源而可能遭致的意外、疏忽、侵权及其造成的损失,本网站对其概不负责,亦不承担任何法律责任。
3、其他单位或个人使用、转载或引用本站原创文章时必须同时征得本025源码网的同意.
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时删除并致以最深的歉意。
5、如需要本站的游戏源码或搭建帮助,可以联系站长 15623571666(微信同号)或者扫描右侧二维码!

您可能还会对下面的文章感兴趣:

    cache
    Processed in 0.004332 Second.