package comm import ( "go_dreamfactory/pb" ) /* 业务模块 对外接口定义处 */ type ( ModuleCallSource struct { Module string //来源模块 FuncName string //来源方法 Describe string //调用描述 } //邮件业务模块对外接口定义 提供给其他模块使用的 Imail interface { CreateNewMail(session IUserSession, mail *pb.DBMailData) bool } //道具背包接口 IItems interface { //查询用户背包物品数量 QueryItemAmount(source *ModuleCallSource, uId string, itemid string) (amount uint32) //查询用户背包多个物品数量 QueryItemsAmount(source *ModuleCallSource, uId string, itemid ...string) (result map[string]uint32) ///添加单个物品到背包 (可以加物品和减物品) AddItem(source *ModuleCallSource, session IUserSession, itemid string, addnum int32, bPush bool) (code pb.ErrorCode) ///添加多个物品到背包 (可以加物品和减物品) AddItems(source *ModuleCallSource, session IUserSession, items map[string]int32, bPush bool) (code pb.ErrorCode) } //英雄 IHero interface { //查询用户卡片数量 QueryHeroAmount(uId string, heroCfgId string) (amount uint32) //创建新英雄 CreateHeroes(uid string, heroCfgId ...string) error //创建指定数量 CreateRepeatHero(uid string, heroCfgId string, num int32) (*pb.DBHero, error) // 获取英雄 // heroId 英雄ID GetHeroByObjID(uid, heroId string) (*pb.DBHero, pb.ErrorCode) // 佩戴装备 UpdateEquipment(session IUserSession, hero *pb.DBHero, equip []*pb.DB_Equipment) (code pb.ErrorCode) //获取玩家英雄列表 GetHeroList(uid string) []*pb.DBHero //清理玩家英雄数据 CleanData(uid string) } //玩家 IUser interface { //获取用户数据 GetUser(uid string) *pb.DBUser //获取用户回话 GetUserSession(uid string) *pb.CacheUser //查询用户属性值 例如 金币 经验 QueryAttributeValue(uid string, attr string) (value int32) //添加/减少属性值 第四个参数控制是否推送给前端 AddAttributeValue(session IUserSession, attr string, add int32, bPush bool) (code pb.ErrorCode) //用户改变事件 EventUserChanged(session IUserSession) //获取用户expand GetUserExpand(uid string) (result *pb.DBUserExpand, err error) //更新用户expand ChanageUserExpand(uid string, value map[string]interface{}) error } //武器模块 IEquipment interface { //查询服务资源数量 db id QueryEquipment(source *ModuleCallSource, uid string, Id string) (equipment *pb.DB_Equipment, code pb.ErrorCode) //查询服务资源数量 参数武器配置id QueryEquipmentAmount(source *ModuleCallSource, uid string, equipmentId string) (amount uint32) //添加新武器 AddNewEquipments(source *ModuleCallSource, session IUserSession, cIds map[string]uint32, bPush bool) (code pb.ErrorCode) } IMainline interface { // 修改章节信息 ModifyMainlineData(uid string, objId string, data interface{}) (code pb.ErrorCode) // 检查能不能挑战该关卡 CheckChallengeChapter(stroyId int32, uid string, zhangjieID int32) (code pb.ErrorCode) } //任务 ITask interface { //初始化 日常/周常/成就 InitTaskAll(uid string) //清空任务 ResetTask(uid string, taskTag TaskTag) //任务通知 SendToTask(session IUserSession, taskType TaskType, param *pb.TaskParam) (code pb.ErrorCode) // 清理玩家任务数据 CleanData(uid string) } )