前面我给小伙伴们讲了任务系统客户端,服务端写了前搬部分的消息接受处理,现在我在借大家讲解一下当我在服务端这边接受到了客户端的消息,我要知道是不是满足了条件,现在你就要用到数据库了,不管是这样还有其他的比如像道具系统里面道具的查询,出售,人物上线的属性什么都是存到数据库的,这里数据库虽然存有大量的信息,但是在数据库里面做的逻辑操作没多少数据库里面的操作主要是增删改查存这些,其他基本都是在数据库之外操作,各位牛逼的大神都不要喷我这是个人学习来的,当然我才毕业没一年做起来有很多不完善的,我将在以后慢慢的完善改进,只求不喷。
#ifndef __BRUCE_DBPROXY_QUEST_HANDLER_HEADER__
#define __BRUCE_DBPROXY_QUEST_HANDLER_HEADER__
#include "typedef.hpp"
#include <Network.hpp>
#include "DBProxyApp.hpp"
#include "MySQL.hpp"
#include <DBProxyServer/Quest.hpp>
#include "QuestCommon.hpp"
DBPROXY_NS_BEGIN
class QuestHandler
{
public:
QuestHandler();
~QuestHandler();
void initialize();
private:
// 正在进行时的任务;
void createTable();
// 创建完成任务以后储的任务表;Achieve
void createAchieveTable();
void registerMessageHandler();
void handleGameServerRequestQuestInfo(Message::Ptr &message);
void handleGameServerRequestQuestInfoCallBack(Result& result, SessionID sid, GS2DS_QuestSqlReq gQuestReqSql);
//任务向关卡数据库查询提交的条件是否匹配;
void handleGameToMissonSqlQuestInfo(Message::Ptr &message);
//取出来;
void handleGameServerRequestMissonQuestInfoCallBack(Result& result, SessionID sid, GS2DS_QuestGetMissonCountInfoReq questGetMissonCountInfoReq);
//删除当前数据表中所在的任务信息;
void handleGameDeleteQuestIDInof(Message::Ptr &message);
//删除后的数据;
void handleDeleteDBProxyToGameQuestIDinfo(Result& result, SessionID sid, GS2DS_QuesDeleteSqlInfoReq mQuesDeleteSqlInfoReq);
//将删除的所有任务数据保存到下来;
void handleDeleteQuestSeave(Message::Ptr &message);
//将删除的所有任务数据保存到下来;
void handleDeleteQuestIDinfo(Result& result, SessionID sid, GS2DS_QuestDeltAndSeaveInfoReq sQuestDeltAndSeaveInfoReq);
};
APP_NS_END
#endif // !__BRUCE_DBPROXY_QUEST_HANDLER_HEADER__
#include "QuestHandler.hpp"
DBPROXY_NS_BEGIN
QuestHan