现在做一个抢滩登陆类型的游戏,关于任务系统的一些疑问

现在在做一个抢滩登陆类型的游戏,以前从来没有做过任务系统,感觉很迷惑。
我现在的思路是一个任务基类,然后把任务分类,每个分类单独写一个类继承自基类。单独一个任务管理类,采用单例模式。
每个任务内部有检查该任务是否完成的函数。在每个可能触发任务的操作后调用检查函数。
不知道大家是怎么实现的?说出来探讨一下