首先,显示任务面板,只要一句话,就实现:
QuestPanel.Get().Show();
怎么实现的呢?
其实和4.3节差不多。
首先,DQCanvas的预制件,先画好UI。

然后,QuestPanel
脚本,做好显示/隐藏即可。
先搭建好ui,需要的内容大概是一个横版,然后创建一个scrow view,使用其中的vertical,创建一个任务物体(里面存放单个任务的ui,如框,文字等),保存为一个预制体放在resources文件里方便后期通过代码自动生成,从而做出简单的任务列表
数据库准备
需要在数据库中添加一个用户表和一个任务表,两者用一个id进行绑定,我这里是用的missionId进行多表查询。这里可以看表设计相关的知识,篇幅和时间有限就不多讲了,任务表
1.任务管理类与任务类是一对一的关系,而任务管理类与其他类是一对多的关系。对于一对多,比较容易想到的就是观察者模式了。在观察者模式中,是观察者决定要监视的东西,而不是事件的发生者决定谁观察它。
2.对于任务类/任务条件类/任务奖励类来说,有逻辑意义上的,也有界面意义上的,因此要分开处理。
这里给出主要的逻辑代码:
using System.Collections;
using Sys
一年多没写博了,因为迫不得已转行,这破游戏也搁置了好久,过完年也有一个月了,回来找找感觉。那就记录一下任务系统的开发吧,方便以后回忆。
任务系统是每个RPG游戏的核心,很大程度上它支撑着RPG的剧情以及角色的互动等方面的内容。
作为一个单机,任务系统用的当然是C#的委托和事件来写了,如果大家有更好的实现方法,那就当看个思路吧(虽然我的思路也不咋地)。
因为任务系统往往伴随着任务报酬,例如给一...
这里没有我背包系统比较繁杂的UI操作,所以大部分时间花在了任务系统控制方面的设计上。
任务系统
说到任务系统,想到,领任务,以及是否完成对应任务,以及任务的各种状态等等
秉持着MVC的思想,大致分为以下设计:
Mission类
这里我把任务简单分为两类:寻人以及击杀特定数目的怪
MissionModel类
这个类里存放了各种对数据的操...
参考 : “海游移动” 博客http://jxwgame.blog.51cto.com/943299/1602630
先考虑需求
在任何时候,我需要能够通过new创建一个任务(完成事件,获得奖励),任务自动开始运行 ,并且自动判断运行状态,是否完成等。 我们要做的,只是创建这个任务,并赋一些完成条件。
所以任务类(Class MyTask) 必须是脱离于Mono的独立类。并且有一些对...