任务系统是指游戏里面的接取任务,执行任务和完成任务的系统。任务系统又可以称为事件系统,一个事件可以看做成由很多任务组成的,一个任务又由很多个分支组成,一个分支又包含条件部分和执行部分(当条件部分都通过时,就会跳转到执行部分执行)。当访问npc时(玩家点击接受任务,下一步,完成任务等),就会根据就根据当前任务的状态(任务id,分支id,任务的状态)而去执行某个分支(如果该分支条件Term满足,则会执行Move),一般来说某个时刻只有0个或者1个分支能够满足条件。通过客户端触发才能接取任务,让任务存在于玩家身上。任务系统的实现与限时活动类似,实现如下:
//一个事件,对应一个npc身上所有的任务
class Affair
{
};
//所有npc身上所有事件
class AffairMgr
{
};
//封装了条件
class Term
{
};
//封装了动作
class Move
{
};
//数据
class Parts
{
};
//数据集
class PartsList
{
};
通过把数据传入到事件中,从而让玩家身上任务处于相应的状态,比如完成已交,完成可接,完成未交,正在执行等。