go_dreamfactory/comm/imodule.go

71 lines
2.0 KiB
Go

package comm
import (
"go_dreamfactory/pb"
)
/*
业务模块 对外接口定义处
*/
type (
IModuleCallSource struct {
Module string //来源模块
FuncName string //来源方法
Describe string //调用描述
}
//邮件业务模块对外接口定义 提供给其他模块使用的
Imail interface {
CreateNewMail(uId string)
}
//道具背包接口
IItems interface {
//查询用户背包物品数量
QueryItemAmount(uId string, itemid int32) (amount uint32)
//查询用户背包多个物品数量
QueryItemsAmount(uId string, itemid ...int32) (result map[int32]uint32)
///添加单个物品到背包 (可以加物品和减物品)
AddItem(uId string, itemid, addnum int32) (code pb.ErrorCode)
///添加多个物品到背包 (可以加物品和减物品)
AddItems(uId string, items map[int32]int32) (code pb.ErrorCode)
}
//英雄
IHero interface {
//查询用户卡片数量
QueryCardAmount(uId string, cardId int32) (amount uint32)
//添加/减少卡片
AddCard(uId string, cardId int32, add int32) (code pb.ErrorCode)
//创建一个新英雄
CreatMultiHero(uid string, heroCfgId ...int32) error
// 获取英雄
// heroId 英雄ID
GetHero(uid, heroId string) (*pb.DB_HeroData, pb.ErrorCode)
// 佩戴装备
UpdateEquipment(hero *pb.DB_HeroData, equip []*pb.DB_Equipment) (code pb.ErrorCode)
//获取玩家英雄列表
GetHeroList(uid string) []*pb.DB_HeroData
}
//玩家
IUser interface {
//查询用户属性值 例如 金币 经验
QueryAttributeValue(uid string, attr string) (value int32)
//添加/减少属性值
AddAttributeValue(uid string, attr string, add int32) (code pb.ErrorCode)
}
//武器模块
IEquipment interface {
//查询服务资源数量 db id
QueryEquipment(uid string, Id int32) (equipment pb.DB_Equipment, code pb.ErrorCode)
//查询服务资源数量 参数武器配置id
QueryEquipmentAmount(uid string, equipmentId int32) (amount uint32)
//新加武器
AddNewEquipments(uid string, eid int, add int32) (code pb.ErrorCode)
}
)