package comm import ( "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" "time" ) type ( //红点获取接口 IGetReddot interface { Reddot(session IUserSession, rid map[ReddotType]struct{}) (items map[ReddotType]*pb.ReddotItem) } //埋点中心更新通知 IBuriedUpdateNotify interface { BuriedsNotify(session IUserSession, condis []*pb.ConIProgress) } //任务完成 ITaskComplete interface { TaskComplete(session IUserSession, taskid ...int32) } //功能开启通知 IOpenCmdNotice interface { OpenCmdNotice(session IUserSession, keys ...string) } // 活动通知 IActivityNotice interface { //活动开启通知 ActivityOpenNotice(hdlist *pb.DBHuodong) //活动关闭通知 ActivityCloseNotice(hdlist *pb.DBHuodong) } //支付发布接口 IPayDelivery interface { Delivery(session IUserSession, pId int32) (errdata *pb.ErrorData, items []*pb.UserAtno) } // 修改玩家基本数据 IUpdateUserBaseInfo interface { UpdateUserBaseInfo(session IUserSession, info *pb.BaseUserInfo) (err error) } ) /* 业务模块 对外接口定义处 */ type ( ISys interface { // CheckOpenCond(session IUserSession, itype OpencondType, value int32) // // 查询opencond 配置 CheckOpenCondCfgById(session IUserSession, id string) (bOpen bool, errdata *pb.ErrorData) QueryOpenCondData(session IUserSession) (data map[string]int32, errdata *pb.ErrorData) // 查询玩家当前已开启的功能 GMOpenAllCondition(session IUserSession) (errdata *pb.ErrorData) } //邮件业务模块对外接口定义 提供给其他模块使用的 Imail interface { IGetReddot // 注意 此接口逐步废弃 SendMailByCid(session IUserSession, cid string, res []*pb.UserAssets) bool SendNewMail(mail *pb.DBMailData, uid ...string) bool // 批量发送邮件 支持跨服 SendMailByUID(uid string, cid string, res []*cfg.Gameatn, Param []string) bool // 所有邮件奖励统一调这个接口 SendRewardMailByCid(session IUserSession, cid string, res []*cfg.Gameatn) bool // 批量发邮件结果: cid 邮件表ID, 没有附件 res 传空 SendMailToUsers(uids []string, cid string, res []*cfg.Gameatn, param []string) bool // 批量发送邮件 支持跨服 } //道具背包接口 IItems interface { //查询用户背包物品数量 QueryItemAmount(uId string, itemid string) (amount uint32) //查询用户背包多个物品数量 QueryItemsAmount(uId string, itemid ...string) (result map[string]uint32) //查询用户背包 QueryUserPack(uId string) (itmes []*pb.DB_UserItemData, errdata *pb.ErrorData) ///添加单个物品到背包 (可以加物品和减物品) AddItem(session IUserSession, itemid string, addnum int32, bPush bool) (errdata *pb.ErrorData) ///添加多个物品到背包 (可以加物品和减物品) AddItems(session IUserSession, items map[string]int32, bPush bool) (change []*pb.UserAtno, errdata *pb.ErrorData) ///清理道具 CleanItems(session IUserSession) (errdata *pb.ErrorData) ///购买统一入场券 BuyUnifiedTicket(session IUserSession, buynum int32) (errdata *pb.ErrorData) ///刷新恢复入场券 RecoverTicket(session IUserSession) (errdata *pb.ErrorData) //出售道具 SellItem(session IUserSession, items map[string]int32, bPush bool) (errdata *pb.ErrorData, atno []*pb.UserAtno) //使用物品 slt 0合成 1分解 UseItem(session IUserSession, gid string, amount int32, slt int32) (errdata *pb.ErrorData) //清理物品 CleanItemById(session IUserSession, t string) (errdata *pb.ErrorData) // InitItemBagData(session IUserSession) (errdata *pb.ErrorData) } //英雄 IHero interface { //查询用户卡片数量 QueryHeroByConfId(uId string, heroCfgId string) (hero *pb.DBHero) // 批量创建英雄 CreateRepeatHeros(session IUserSession, heros map[string]int32, bPush bool) (atno []*pb.UserAtno, errdata *pb.ErrorData) // 获取英雄 // heroId 英雄ID GetHeroByObjID(uid, heroId string) (hero *pb.DBHero, errdata *pb.ErrorData) // 佩戴装备 UpdateEquipment(session IUserSession, hero *pb.DBHero, equip []*pb.DB_Equipment) (errdata *pb.ErrorData) //获取玩家英雄列表 GetHeroList(uid string) []*pb.DBHero //清理玩家英雄数据 CleanData(uid string) // 英雄加经验 AddHerosExp(session IUserSession, heroObjs []string, exp int32) (curAddExp map[string]int32, award []*cfg.Gameatn, errdata *pb.ErrorData) // 英雄练功 KungFuHero(session IUserSession, heroObjID string, bKongfu bool, kongfuUid string) (errdata *pb.ErrorData) //Create Monster CreateMonster(heroCid string, star, lv int32) (hero *pb.DBHero) // 跨服查询英雄详细信息 QueryCrossHeroinfo(oid string) (hero *pb.DBHero, err error) GetHeroListByUse(uid string) []*pb.DBHero // 非初始状态的英雄列表 // 推送属性变化 PushHeroProperty(session IUserSession, heros []*pb.DBHero) (err error) // 拥有N个X级英雄 CheckLvNum(uid string, lv int32) int32 // 激活X个英雄图鉴 GetTujianHeroNum(uid string) int32 //拥有觉醒至A级的B星英雄N个 Rtype123 CheckJuexingHeroNum(uid string, juexingLv int32, star int32) int32 // 获取所有满星满级满觉醒的英雄 GetAllMaxHero(session IUserSession) (errdata *pb.ErrorData) // 教习登记 RegisterInstructor(session IUserSession, heroOid []string, registerId int32) (errdata *pb.ErrorData) // 跨服查询英雄详细信息 QueryCrossMultipleHeroinfo(uid string, oid []string) (hero []*pb.DBHero, err error) AddHeroFetterAttribute(session IUserSession, attr map[string][]*cfg.Gameatr) // 查询指定共鸣次数的英雄数量 QueryHeroTelnetByCount(uid string, count int) (hids []string) // key 英雄唯一id value 是否传功 PassonHero(session IUserSession, heroObjID map[string]bool) (errdata *pb.ErrorData) GetVirtualHero(hero *pb.DBHero, lv int32) *pb.DBHero // 检查圣桃树奖励是否发放 CheckPeachReward(session IUserSession, ctime int64) // 通过卡池随机获取指定数量的英雄卡 GetRandomCardByCardPool(uid string, count int32) (cards []string, err error) //佩戴专属武器 UpdateExclusive(session IUserSession, hero *pb.DBHero, exw *pb.DB_Exclusive) (errdata *pb.ErrorData) } //玩家 IUser interface { IGetReddot //获取本服用户数据 GetUser(uid string) (user *pb.DBUser, err error) //批量获取用户信息 GetUsers(uids []string) (users []*pb.DBUser, err error) //获取用户回话 GetUserSession(uid string) *pb.CacheUser //批量查询用户会话数据 GetUserSessions(uids []string) []*pb.CacheUser //查询用户属性值 例如 金币 经验 QueryAttributeValue(uid string, attr string) (value int64) QueryAttributeValues(uid string, attr map[string]int64) //添加/减少属性值 第四个参数控制是否推送给前端 // AddAttributeValue(session IUserSession, attr string, add int32, bPush bool) (errdata *pb.ErrorData) // 批量处理 AddAttributeValues(session IUserSession, attrs map[string]int32, bPush bool) (atno []*pb.UserAtno, errdata *pb.ErrorData) //用户改变事件 // EventUserChanged(session IUserSession) // EventUserVipChanged(session IUserSession) //获取用户expand GetUserExpand(uid string) (result *pb.DBUserExpand, err error) //更新用户expand ChangeUserExpand(uid string, value map[string]interface{}) error //本服在线玩家列表 UserOnlineList() ([]*pb.CacheUser, error) //随机获取在线列表 UserRandOnlineList(num int32) ([]*pb.CacheUser, error) //是否在线 IsOnline(uid string) bool // 跨服用户会话 CrossUserSession(uid string) *pb.CacheUser // 跨服搜索玩家 CrossSearchUser(nickname string) ([]*pb.DBUser, error) // 搜索远程用户 SearchRmoteUser(nickname string) ([]*pb.DBUser, error) // 检查是不是新获得的英雄 CheckTujianHero(session IUserSession, heros []string) []bool // bingo设置玩家等级 BingoSetUserLv(session IUserSession, lv int32) error BingoSetUserVipLv(session IUserSession, lv int32) (errdata *pb.ErrorData) //添加皮肤资源接口 AddPer(session IUserSession, pers map[string]int32, bPush bool) (errdata *pb.ErrorData) //消耗体力加经验 ConsumePsAddExp(session IUserSession, ps int32) (atno []*pb.UserAtno, errdata *pb.ErrorData) // 体力差 RemainingPS(uid string) int32 // 清除玩家的虚拟币 CleanUserMerchantmoney(session IUserSession) (err error) ChangeUserCaravanLv(session IUserSession, lv int32) (errdata *pb.ErrorData) AddTitle(session IUserSession, pers map[string]int32, bPush bool) (errdata *pb.ErrorData) ChangeUserMoonLv(session IUserSession, lv int32) (errdata *pb.ErrorData) //GM创号 GMCreatePlayer(session IUserSession, req *pb.UserCreateReq) (errdata *pb.ErrorData) // 体力转经验 PsConvertExp(ps int32) (res *cfg.Gameatn) CleanUserConsumeMoney(session IUserSession) (err error) // 增加隐藏分 AddUserHidenum(session IUserSession, score int32) (err error) } //武器模块 IEquipment interface { //查询服务资源数量 QueryEquipments(uid string) (equipment []*pb.DB_Equipment, errdata *pb.ErrorData) //查询服务资源数量 db id QueryEquipment(uid string, Ids ...string) (equipment []*pb.DB_Equipment, errdata *pb.ErrorData) //查询服务资源数量 参数武器配置id QueryEquipmentAmount(uid string, equipmentId string) (amount uint32) //添加新武器 AddNewEquipments(session IUserSession, cIds map[string]uint32, bPush bool) (change []*pb.DB_Equipment, errdata *pb.ErrorData) //添加所有装备 AddAllEquipments(session IUserSession) (errdata *pb.ErrorData) //创建装备 NewEquipment(uid, cid string) (errdata *pb.ErrorData, equip *pb.DB_Equipment) //添加装备 AddEquipment(session IUserSession, equip ...*pb.DB_Equipment) (errdata *pb.ErrorData) //出售装备 SellEquipments(session IUserSession, equs []string) (errdata *pb.ErrorData, atno []*pb.UserAtno) //回收装备接口 RecycleEquipments(session IUserSession, equs []string, discount int32) (errdata *pb.ErrorData, atno []*pb.UserAtno) //获得可操作用户装备列表 GetActionableEquipments(uid string) (errdata *pb.ErrorData, eruips []*pb.DB_Equipment) //获取可用套装 (铁匠铺使用) GetActionableSuit(uid string) (errdata *pb.ErrorData, Suit []int32) // 随机获得一件N级的装备装备 /* suiteId: 套装id pos: 位置(-1 表示随机位置 大于0 表示获得指定位置 ) lv: 装备等级 dyweight: 动态权重 isepic:是否史诗 与 dyweight 互斥 */ GetForgeEquip(session IUserSession, num, suiteId int32, pos int32, lv int32, dyweight []int32, isepic bool) (eruip []*pb.DB_Equipment, errdata *pb.ErrorData) //GM接口 获取全部装备 GMGetAllEquip(session IUserSession, ismaxlv bool) (errdata *pb.ErrorData) //创建最高名字装备 NewMaxQualityEquipment(session IUserSession, cid []string) (eruips []*pb.DB_Equipment, errdata *pb.ErrorData) //自定义装备 GMGetCustomizeEquip(session IUserSession, id string, lv int32, attribute int32, num int32) (errdata *pb.ErrorData) //自定义装备 GMGetSuitAllEquip(session IUserSession, suit int32, star int32, lv, num int32) (errdata *pb.ErrorData) } //任务 ITask interface { ///红点 IGetReddot } //好友 IFriend interface { // 重置点赞列表和每日友情点 ResetFriend(uid string) // 获取好友数量 GetFriendCount(uid string) int32 // 获取好友列表 GetFriendList(uid string) []string // 使用好友助战英雄 好友ID:friendId UseAssistHero(uid, friendId string) (*pb.DBHero, error) // 切磋结束通知 QiecuoFinishNotify(redUid, matchId string) error // 创角 更新玩家的基本信息 ChangeUInfo(uid string, uinfo *pb.BaseUserInfo) (err error) // 红点 IGetReddot IUpdateUserBaseInfo } //聊天系统 IChat interface { //推送消息到世界频道 SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData) //推送聊天消息到工会 SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData) //推送消息到用户 SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData) //广播系统消息 SendSysChatToWorld(session IUserSession, ctype ChatSystemType, appenddata interface{}, value0, value1 int32, agrs ...string) (errdata *pb.ErrorData) //广播系统消息 SendSysChatToUser(session IUserSession, ctype ChatSystemType, value0, value1 int32, agrs ...string) (errdata *pb.ErrorData) } //战斗系统 IBattle interface { //创建eve战斗 CreateEveBattle(session IUserSession, req *pb.BattleEVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///创建pve战斗 CreatePveBattle(session IUserSession, req *pb.BattlePVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) CreateHeroPveBattle(session IUserSession, req *pb.BattleHeroPVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///创建pvb战斗 CreatePvbBattle(session IUserSession, req *pb.BattlePVBReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///创建pvp战斗 CreatePvpBattle(session IUserSession, req *pb.BattlePVPReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///同步pvp战斗 CreateRtPvpBattle(req *pb.BattleRTPVPReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///连续pve战斗 CreateLPVEBattle(session IUserSession, req *pb.BattleLPVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///获取战斗详情 GetBattleInfo(req *pb.BattleGetInfoReq) (errdata *pb.ErrorData, resp *pb.BattleGetInfoResp) ///创建战斗角色 CreateRolesByFormat(fid int32) (captain int32, roles []*pb.BattleRole, errdata *pb.ErrorData) ///创建战斗角色 CreateRolesByHeros(heros []*pb.DBHero) (roles []*pb.BattleRole, errdata *pb.ErrorData) ///创建战斗服务 CreateBattleServer(req *pb.BattleInfo) (errdata *pb.ErrorData) ///战斗指令输入 InCmdBattle(req *pb.BattleInCmdReq) (errdata *pb.ErrorData) ///战斗认输请求 ConcedeBattle(req *pb.BattleConcedeReq) (errdata *pb.ErrorData) //校验战报 CheckBattleReport(session IUserSession, report *pb.BattleReport) (errdata *pb.ErrorData, iswin bool) //压测接口 CheckBattleReportByTest(report *pb.BattleReport) (err error) ///创建石阵秘境战斗 CreateStoneBattle(session IUserSession, stoneBattle *pb.StroneBattleReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) // 可以携带debuff 的战斗 CreateDebuffBattle(session IUserSession, req *pb.BattlePVEReq, webuff []int32, dibuff []int32) (errdata *pb.ErrorData, record *pb.DBBattleRecord) // 跑服务端战斗 RunServerBattle(session IUserSession, req *pb.BattleRunReq) (errdata *pb.ErrorData, record *pb.BattleRunResp) ///创建掠夺pvp战斗 CreatePlunderPvpBattle(session IUserSession, req *pb.BattlePVEPlunderReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) } IGm interface { CreateCmd(session IUserSession, cmd string) (errdata *pb.ErrorData) } // 修改爬塔 IPagoda interface { ModifyPagodaFloor(session IUserSession, d1 int32, d2 int32) (errdata *pb.ErrorData) CheckUserBasePagodaInfo(uid string) (data *pb.DBPagodaRecord) // 查询玩家最佳通关记录 CheckCompletePagoda(uid string) (bComplete bool) // 校验是否通关普通塔 GMModifyRacePagoda(uid string, floor int32) ///红点 IGetReddot } IHeroFetter interface { AddHeroFetterData(uid string, heroConfId string) (errdata *pb.ErrorData) // 创建一条羁绊信息 SendRpcAddHero(uid string, heroConfId []string, serverTag string) (err error) AddHerosFetterData(uid string, heroConfIds []string) (errdata *pb.ErrorData) } //月子秘境 IMoonFantasy interface { //触发月之秘境 Trigger(session IUserSession, source *pb.BattleReport) //GM触发月之秘境 TriggerMF(session IUserSession, Boosid string) (err error) } IViking interface { CompleteAllLevel(session IUserSession) (errdata *pb.ErrorData) CheckUserBaseVikingInfo(uid string) (data []*pb.DBVikingRank) // 查询玩家最佳通关记录 IGetReddot } IHunting interface { IGetReddot CompleteAllLevel(session IUserSession) (errdata *pb.ErrorData) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) // 查询玩家最佳通关记录 } // 公会 ISociaty interface { // 任务条件达成通知 IBuriedUpdateNotify // 红点 IGetReddot GetSociaty(uid string) *pb.DBSociaty //查询工会信息 GetSociatys(sociatyIds []string) (result []*pb.DBSociaty, errdata *pb.ErrorData) // 会长弹劾处理 ProcessAccuse(uid, sociatyId string) // 获取我的公会成员 MembersByUid(uid string) (list []*pb.SociatyMemberInfo) // 获取公会成员 MembersBySociatyId(sociatyId string) (list []*pb.SociatyMemberInfo, errdata *pb.ErrorData) // 设置工会经验 BingoSetExp(session IUserSession, exp int32) error // 设置工会活跃度 BingoSetActivity(session IUserSession, activity int32) error //修改公会等级 ModifySociatyLv(uid string, lv int32) (err error) } //星座图 IHoroscope interface { //计算新作图属性 ComputeHeroNumeric(uid string, hero ...*pb.DBHero) ///红点 IGetReddot GMFulllevel(session IUserSession) (errdata *pb.ErrorData) } IPrivilege interface { // 创建一个新的特权卡 IPayDelivery // 续费特权卡 RenewPrivilegeCard(session IUserSession, cId int32) (errdata *pb.ErrorData) // 检查特权 参数 计费点 返回值 是否有特权 CheckPrivilege(session IUserSession, cId int32) bool // 检查每日特权邮件 CheckDailyPrivilegeMail(session IUserSession) // 获得vip AddVipData(session IUserSession, oldVip, newVip int32) // 查询所有特权 key 对应comm.PrivilegeType1类型 CheckAllPrivilege(session IUserSession) map[int32]*pb.PrivilegeList // 通过特权类型获取特权对应的增加数量 GetCountByPrivilegeId(uid string, pType int32) (count int32) } //武馆 IMartialhall interface { ///红点 IGetReddot } // 世界任务 IWorldtask interface { // IOpenCmdNotice // bingo任务 BingoJumpTask(session IUserSession, groupId, rtaskId int32) error // 通过任务ID bingo JumpTaskByTaskId(session IUserSession, rtaskId int32) error //接取商队任务 //接口废弃 AcceptCaravanTask(session IUserSession, groupId int32) (task *pb.Worldtask, errdata *pb.ErrorData) //更新接取任务 UpdateTaskStatus(uid string, taskId int32) } // 支线剧情任务 ILinestory interface { // 任务完成通知 TaskFinishNotify(uid string, taskId, groupId int32) error } //竞技场 IArena interface { ///红点 IGetReddot //设置用户积分 SetUserIntegral(session IUserSession, Integral int32) (err error) //获取匹配战斗角色列表 GetMatcheBattleRoles(uid string) (captain int32, rules []*pb.BattleRole, err error) } IGourmet interface { ///红点 IGetReddot GMCreateAltas(uid string) } ILibrary interface { // 任务完成通知 TaskFinishNotify(uid string, taskId, fetterId int32) error IGetReddot GMCreateFavorability(uid string) } // 个人成长任务 IGrowtask interface { BingoAllGrowTask(session IUserSession) error } //支付模块 IPay interface { IGetReddot IActivityNotice } //实时Pvp IPvp interface { //查询战斗数 QueryBattle(id string) (battle *pb.DBPvpBattle, err error) //创建实时Pvp CreateRoom(sessions []IUserSession, rulesStr string) (roomid string, err error) //推送战斗输出指令 PvpOutCmdPush(out *pb.PvpOutCmdPush) //推送战斗结束 PvpFinishPush(out *pb.BattleFinishPush) //用户离线 UserOffline(roomid string, uid string) (err error) //创建pvp战斗 AddAndStartRoom(id string, ptype pb.PlayType, sessions []IUserSession, uinfos []*pb.BaseUserInfo, formations []*pb.BattleFormation) (err error) } ISmithy interface { CheckActivateAtlasCollect(uid string, id string) IBuriedUpdateNotify IGetReddot // 铁匠铺红点 GmProficiency(uid string) GmSmithyAtlas(session IUserSession) } IPandaAtlas interface { IGetReddot CheckActivatePandaAtlasCollect(uid string, id string) (err error) } //练功房 IPractice interface { IGetReddot ITaskComplete IOpenCmdNotice //添加武馆资源 AddItems(session IUserSession, items map[string]int32, bPush bool) (errdata *pb.ErrorData) //pvp切磋结果通知 ChallengeResults(bid, red, bule string, winSide int32, report *pb.BattleReport) // 清除玩家踢馆状态 CleanUpNpc(uid string) GetAllJxRes() (res []string, err error) } //捕羊大赛 IParkour interface { IGetReddot } ITools interface { GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn) GetGlobalConf() *cfg.GameGlobalData GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn, err error) RandRobotConfig(num int32) (confs []*cfg.GameRobotData, err error) GetHeroConfig(heroCfgId string) (conf *cfg.GameHeroData, err error) GetPriceGroupLen(pricegroupId int32) (count int32, err error) GetGrormetLlame(id string) (data int32, err error) GetGroupDataByLotteryId(id int32) (data *cfg.GameLotteryData, err error) //获取用户等级配置 GetPlayerlvConf(uid string) (conf *cfg.GamePlayerlvData, errdata *pb.ErrorData) //读取全局表 db层 GetGlobalData(key string, v interface{}) (err error) GetAndUpdateGlobalData(key string, v interface{}, update interface{}) (err error) UpdateGlobalData(key string, v interface{}) (err error) } IReputation interface { // 声望升级 返回声望等级 Upgrade(session IUserSession, raceType int32, fv int32) (lv int32) } // 关卡编辑器 ICombat interface { // 获取关卡状态 GetLevels(uid string) (levels map[int32]*pb.DBCombatLevel) } ICaravan interface { ITaskComplete TaskGroupComplete(session IUserSession, group int32) } //埋点中心 IBuried interface { //完成任务埋点 CompleteCondition(session IUserSession, condiId ...int32) (err error) //埋点中心触发 TriggerBuried(session IUserSession, burieds ...*pb.BuriedParam) //校验条件是否达成 返回未完成列表 CheckCondition(session IUserSession, condiIds ...int32) (ok bool, condis []*pb.ConIProgress, err error) //激活条件 ActiveCondition(session IUserSession, condiIds ...int32) (errdata *pb.ErrorData) //完成任务并校验接口 FinishConditionAndCheck(session IUserSession, finishcondiIds []int32, condiIds ...int32) (condis []*pb.ConIProgress, err error) //重置埋点 按类型 ResetBuriedByType(session IUserSession, types ...TaskType) (err error) } //红点模块接口 IReddot interface { //推送红点 PushReddot(session IUserSession, reddot ...*pb.ReddotItem) (errdata *pb.ErrorData) } //练功房 IPasson interface { //英雄升级 HeroUpLv(session IUserSession, heroid string, lv int32) } // 世界任务 IWtask interface { IBuriedUpdateNotify // IOpenCmdNotice AcceptCaravanTask(session IUserSession, groupId int32) (tid, groud int32, errdata *pb.ErrorData) ClearCaravanTask(session IUserSession, task int32) // bingo任务 BingoJumpTask(session IUserSession, rtaskId int32) (errdata *pb.ErrorData) //重置日常任务 ResetDailytaskTask(session IUserSession, dailytaskid int32, groupId ...int32) (results map[int32][]int32, errdata *pb.ErrorData) //查询任务进度 // InquireTaskProgress(session IUserSession, tasks ...int32) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) //查询完成列表 InquireCompletes(uid string) []int32 } //战令 IWarorder interface { IGetReddot IPayDelivery IActivityNotice } IActivity interface { GetAllHdInfo() (hdList map[pb.HdType]*pb.DBHuodong) // 获取所有活动信息 GetHdInfoByItype(itype pb.HdType) (result *pb.DBHuodong, err error) // // 庆典活动 HDCelebration(session IUserSession, systemtype int32, bosstype int32) bool } //每日任务 IDailytask interface { IOpenCmdNotice IGetReddot //任务组完成 TaskGroupComplete(session IUserSession, group int32) } //新主线 IMainline interface { ///红点 IGetReddot // bingo 关卡 BingoJumpLevel(session IUserSession, level int32) (errdata *pb.ErrorData) //查询主线通关进度 InquireMainLinePassLevel(uid string) (levels map[int32]int32) // 任务条件达成通知 IBuriedUpdateNotify } //工会boos战 IGuildgve interface { ///红点 IGetReddot ModifyBooslv(session IUserSession, lv int32) (errdata *pb.ErrorData) } //远征 IExpedition interface { ///红点 IGetReddot } //购物中心 IShopcenter interface { IActivityNotice IPayDelivery } //累充接口 IAddrecharge interface { IActivityNotice //积分充值 RechargeIntegral(session IUserSession, integral int32) } //推送礼包 IPushgiftbag interface { IBuriedUpdateNotify IPayDelivery } IUiGame interface { HDPSTodayConsum(uid string, ps int32) // 今日消耗的体力 IActivityNotice } //石阵秘境 IStonehenge interface { IGetReddot GmAddStoneEvent(uid string, eventid int32) } //战斗记录模块 IBattleRecord interface { WrietBattleRecord(uid string, report *pb.BattleReport, expire time.Time) } IDragon interface { //获取玩家坐骑列表 GetDragonList(uid string) (dragon []*pb.DBDragon, err error) // 创建坐骑 CreateDragon(session IUserSession, dragons map[string]int32, bPush bool) (errdata *pb.ErrorData) // 机器人 坐骑 CreateRobotDragon(dragonid string, lv int32) (dragon *pb.DBDragon, err error) // 查询所有成龙 QueryBigDragonList(uid string) (dragon []*pb.DBDragon, err error) // 通过ID 查询龙的信息 QueryDragonById(uid string, dragonid string) (dragon *pb.DBDragon, err error) // 跨服接口 通过 服务器标签和唯一id 获取坐骑信息 QueryDragonByTagAndOid(tag string, objId []string) (dragon []*pb.DBDragon, err error) // Gm 调整龙的等级 GMModifyDragonLv(uid string, cid string, lv int32) (dragon *pb.DBDragon, err error) } IMainCity interface { //添加同屏好友 AddMainCityFriends(uid string, users []string) } //游戏邀请 IGameInvite interface { GameInviteEnd(gtype int32, uid string) } //游戏邀请 IDColor interface { IGetReddot CreateRoom(sessions []IUserSession, rulesStr string) (roomid string, err error) UserOffline(roomid string, uid string) (err error) //主动认输 AdmitDefeat(roomid string, uid string) (err error) } //犬兔大战 ICanineRabbit interface { CreateRoom(sessions []IUserSession, rulesStr string) (roomid string, err error) UserOffline(roomid string, uid string) (err error) //主动认输 AdmitDefeat(roomid string, uid string) (err error) } IEntertainment interface { // 添加三消卡片资源 AddXxlCard(session IUserSession, cards map[string]int32, bPush bool) (errdata *pb.ErrorData) AddXxlSkillCard(session IUserSession, skill map[string]int32, bPush bool) (errdata *pb.ErrorData) CreateRoom(sessions []IUserSession, rulesStr string) (roomid string, err error) //用户离线 UserOffline(roomid string, uid string) (err error) //主动认输 AdmitDefeat(roomid string, uid string) (err error) GMAddConsumeexp(session IUserSession, score int32) (errdata *pb.ErrorData) IPayDelivery } IMoonlv interface { IBuriedUpdateNotify GMCreateMoonlv(session IUserSession, lv int32) } //捉虫子 ICatchBugs interface { IGetReddot CreateRoom(sessions []IUserSession, rulesStr string) (roomid string, err error) //用户离线 UserOffline(roomid string, uid string) (err error) //主动认输 AdmitDefeat(roomid string, uid string) (err error) } //海岛 IIsland interface { IPayDelivery } IIntegral interface { IBuriedUpdateNotify } //掠夺 IPlunder interface { InitPlunderByUser(session IUserSession) } //专属武器 IExclusive interface { AddNewExclusive(session IUserSession, cIds map[string]int32, bPush bool) (change []*pb.DB_Exclusive, errdata *pb.ErrorData) DelNewExclusive(session IUserSession, cIds []string, bPush bool) (change []*pb.DB_Exclusive, errdata *pb.ErrorData) } //实时竞技场 IRealarena interface { //pvp切磋结果通知 ChallengeResults(bid, red, bule string, winSide int32, report *pb.BattleReport) } )