go_dreamfactory/comm/imodule.go
2023-11-24 09:56:16 +08:00

709 lines
25 KiB
Go

package comm
import (
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
type (
//红点获取接口
IGetReddot interface {
Reddot(session IUserSession, rid ...ReddotType) (reddot 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)
}
)
/*
业务模块 对外接口定义处
*/
type (
ISys interface {
CheckOpenCond(session IUserSession, itype OpencondType, value int32)
// 查询opencond 配置
CheckOpenCondCfgById(uid string, id string) (bOpen bool, errdata *pb.ErrorData)
QueryOpenCondData(uid string) (data map[string]int32, errdata *pb.ErrorData) // 查询玩家当前已开启的功能
GMOpenAllCondition(uid string)
}
//邮件业务模块对外接口定义 提供给其他模块使用的
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 []int32, 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, bTalent bool) (errdata *pb.ErrorData)
// 教习登记
RegisterInstructor(session IUserSession, heroOid []string, registerId int32) (errdata *pb.ErrorData)
// 跨服查询英雄详细信息
QueryCrossMultipleHeroinfo(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)
CreateOneHero(session IUserSession, heroCfgId string) (hero *pb.DBHero, atno []*pb.UserAtno, errdata *pb.ErrorData)
// 通过卡池随机获取指定数量的英雄卡
GetRandomCardByCardPool(uid string, count int32) (cards []string, err error)
}
//玩家
IUser interface {
IGetReddot
//获取本服用户数据
GetUser(uid string) (user *pb.DBUser, err error)
//批量获取用户信息
GetCrossUsers(uid []string) (user []*pb.DBUser, err error)
//获取用户回话
GetUserSession(uid string) *pb.CacheUser
//批量查询用户会话数据
GetUserSessions(uids []string) []*pb.CacheUser
//查询用户属性值 例如 金币 经验
QueryAttributeValue(uid string, attr string) (value 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)
//是否在线
IsOnline(uid string) bool
// 跨服在线玩家列表
CrossUserOnlineList() ([]*pb.CacheUser, error)
// 跨服用户会话
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)
// 清除玩家赛季积分
CleanUserConsumeexp(session IUserSession) (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, 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)
}
//任务
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
// 红点
IGetReddot
}
//聊天系统
IChat interface {
//推送消息到世界频道
SendWorldChat(msg *pb.DBChat) (errdata *pb.ErrorData)
//推送聊天消息到工会
SendUnionChat(msg *pb.DBChat) (errdata *pb.ErrorData)
//推送消息到用户
SendUserChat(msg *pb.DBChat) (errdata *pb.ErrorData)
//广播系统消息
SendSysChatToWorld(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)
///创建石阵秘境战斗
CreateStoneBattle(session IUserSession, stoneBattle *pb.StroneBattleReq) (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, key int32, 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
// 查询我的世界任务
GetMyWorldtask(uid string) *pb.DBWorldtask
//接取商队任务 //接口废弃
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 {
//模拟发货
// ModulePayDelivery(session IUserSession, Productid string, Price int32) (errdata *pb.ErrorData)
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)
}
ISmithy interface {
CheckActivateAtlasCollect(uid string, id string)
IBuriedUpdateNotify
IGetReddot // 铁匠铺红点
GmProficiency(uid string)
GmSmithyAtlas(session IUserSession)
}
IPandaAtlas interface {
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)
// 清除玩家踢馆状态
CleanUpNpc(uid string)
GetAllJxRes() (res []string, err error)
}
//捕羊大赛
IParkour interface {
}
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)
//更新全局表 db层
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(uid string, condiId int32) (err error)
//埋点中心触发
TriggerBuried(session IUserSession, burieds ...*pb.BuriedParam)
//校验条件是否达成 返回未完成列表
CheckCondition(uid string, condiIds ...int32) (condis []*pb.ConIProgress, err error)
//激活条件
ActiveCondition(uid string, condiIds ...int32) (errdata *pb.ErrorData)
//完成任务并校验接口
FinishConditionAndCheck(uid string, finishcondiIds []int32, condiIds ...int32) (condis []*pb.ConIProgress, err error)
//重置埋点 按类型
ResetBuriedByType(uid string, 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 {
IPayDelivery
IActivityNotice
}
IActivity interface {
GetHdInfoByHdId(oid string) (result *pb.DBHuodong, err error) // 通过活动id 获取活动信息
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)
}
//购物中心
IShopcenter interface {
IActivityNotice
IPayDelivery
}
//累充接口
IAddrecharge interface {
IActivityNotice
//积分充值
RechargeIntegral(session IUserSession, integral int32)
}
//推送礼包
IPushgiftbag interface {
IBuriedUpdateNotify
IPayDelivery
}
IUiGame interface {
HDPSTodayConsum(uid string, ps int32) // 今日消耗的体力
}
IStonehenge interface {
GmAddStoneEvent(uid string, eventid int32)
}
//战斗记录模块
IBattleRecord interface {
WrietBattleRecord(uid string, report *pb.BattleReport, expire int64)
}
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 {
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)
}
IMoonlv interface {
IBuriedUpdateNotify
}
//捉虫子
ICatchBugs interface {
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
}
)