不是多线程,不是多线程,不是多线程
任务使用示例 在任一场景中挂载Game脚本并选择TasksDemo流程,运行即可
一.介绍
XFramwwork的任务模块提供了一种顺序执行的任务队列,内置三种类型的任务,使用者可以根据需要自行添加其他类型,继承TaskBase即可。内置任务类型如下
SingleTask 单个任务,任务执行完成即执行下一个任务
AllTask 内含一组任务,组内所有任务执行完成后才能开始执行下一个任务
RaceTask 内含一组任务,组内任一任务执行完成后便开始执行下一个任务
二.使用方式
1.构造一个任务队列
使用者可以自行创造任务并设置任务的NextTask来构造一个完整的任务队列,但推荐使用以下写法
首先构造一个队首任务,可以是上述三种类型的任一一个,All,Then,Race均为Task的扩展方法,传入委托或者委托数组返回队尾任务。
SingleTask singleTask = new SingleTask(() =>
{
Debug.Log("任务开始");
return true;
});
singleTask.All(
() => { return TimeTo(0.1f); },
() => { return TimeTo(0.2f); },
() => { return TimeTo(0.4f); },
() => { return TimeTo(0.35f); },
() => { return TimeTo(0.3f); }
).Then(
() => { return TimeTo(0.5f); }
).Race(
() => { return TimeTo(0.6f); },
() => { return TimeTo(0.8f); },
() => { return TimeTo(0.7f); },
() => { return TimeTo(0.66f); },
() => { return TimeTo(0.9f); }
).Then(
() => { return TimeTo(1.0f); }
);
2.开始执行任务队列
Game.TaskModule.StartTask(singleTask);
本文详细介绍了一款游戏开发框架XFramwwork的任务模块,包括单个任务、组合任务及竞速任务三种类型,以及如何构造和执行任务队列。

6万+

被折叠的 条评论
为什么被折叠?



