前言
游戏流程中一般是需要状态机或者流水线
一般启动的时候都会有一套更新加载启动等操作
如果封装成流水线,那么将会极大的提高代码可读性
问题
一般下载资源,或者解压拷贝资源都是异步操作
而流水线也会有一些初始化模块的操作,这些操作基本上都是不需要异步的
那么就需要一个既可以同步也可以异步的流水线
这里的异步指的是异步等待
这样子流水线才能顺到底
上代码
using System;
using System.Threading.Tasks;
public class Pipeline
{
//存同步方法
public Action rootAction = null;
public Action nowAction = null;
//存异步方法
public Func<Task> rootActionAsync = null;
public Func<Task> nowActionAsync = null;
//下一个流水线
public Pipeline nextPipeline = null;
//最后一个流水线
public Pipeline lastPipeline = null;
//构造函数里面赋值来决定这个流水线需不需要异步等待
public bool isAsync = false;
public Pipeline(