实现一个可以异步等待的流水线

本文介绍如何在游戏开发中实现一个既能同步又能异步等待的流水线,以提高代码可读性和流程效率。通过具体的代码示例和测试结果,展示了如何在需要异步操作如资源下载、解压拷贝时,确保流水线的顺畅执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

游戏流程中一般是需要状态机或者流水线
一般启动的时候都会有一套更新加载启动等操作
如果封装成流水线,那么将会极大的提高代码可读性

问题

一般下载资源,或者解压拷贝资源都是异步操作
而流水线也会有一些初始化模块的操作,这些操作基本上都是不需要异步的
那么就需要一个既可以同步也可以异步的流水线
这里的异步指的是异步等待
这样子流水线才能顺到底

上代码

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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LemonCCC116

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值