97 lines
3.4 KiB
Go
97 lines
3.4 KiB
Go
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)
|
|
}
|
|
)
|