Merge branch 'meixiongfeng' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
7554cc51b0
@ -62,7 +62,7 @@ const (
|
|||||||
ModuleLinestory core.M_Modules = "linestory" //支线剧情
|
ModuleLinestory core.M_Modules = "linestory" //支线剧情
|
||||||
ModuleBattle core.M_Modules = "battle" //战斗
|
ModuleBattle core.M_Modules = "battle" //战斗
|
||||||
ModuleLibrary core.M_Modules = "library" //
|
ModuleLibrary core.M_Modules = "library" //
|
||||||
|
//ModuleFetter core.M_Modules = "herofetter" //好友模块
|
||||||
)
|
)
|
||||||
|
|
||||||
//数据表名定义处
|
//数据表名定义处
|
||||||
@ -142,6 +142,7 @@ const (
|
|||||||
TableLinestory = "linestory"
|
TableLinestory = "linestory"
|
||||||
|
|
||||||
TableLibrary = "library"
|
TableLibrary = "library"
|
||||||
|
TableFetter = "herofetter"
|
||||||
)
|
)
|
||||||
|
|
||||||
//RPC服务接口定义处
|
//RPC服务接口定义处
|
||||||
|
@ -167,4 +167,11 @@ type (
|
|||||||
IPagoda interface {
|
IPagoda interface {
|
||||||
ModifyPagodaFloor(session IUserSession, level int32) (code pb.ErrorCode)
|
ModifyPagodaFloor(session IUserSession, level int32) (code pb.ErrorCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IHeroFetter interface {
|
||||||
|
ModifyHeroFetterData(uid string, obj string, data map[string]interface{}) (code pb.ErrorCode) // 修改羁绊信息
|
||||||
|
QueryHeroFetter(session IUserSession) (data []*pb.DBHeroFetter) // 查询所有的羁绊信息
|
||||||
|
QueryOneHeroFetter(session IUserSession, cid string) *pb.DBHeroFetter // 通过英雄配置id 查询羁绊信息
|
||||||
|
AddHeroFetterData(session IUserSession, heroConfId string) // 创建一条羁绊信息
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
@ -148,9 +148,10 @@ func (this *modelGourmet) CalculationGourmet(uid string, gourmet *pb.DBGourmet)
|
|||||||
// 记录下订单时间
|
// 记录下订单时间
|
||||||
gourmet.Ctime = time.Now().Unix()
|
gourmet.Ctime = time.Now().Unix()
|
||||||
mapData["ctime"] = gourmet.Ctime
|
mapData["ctime"] = gourmet.Ctime
|
||||||
break
|
|
||||||
}
|
}
|
||||||
gourmet.Items = this.module.configure.GetMultipleDropReward(_gourmetcfg.Using, _gourmetcfg.Propsgroup, gourmet.Items) // 获取掉落奖励
|
gourmet.Items = this.module.configure.GetMultipleDropReward(_gourmetcfg.Using, _gourmetcfg.Propsgroup, gourmet.Items) // 获取掉落奖励
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
if bCooking { // 分配了正在製作的食物
|
if bCooking { // 分配了正在製作的食物
|
||||||
@ -213,18 +214,24 @@ func (this *modelGourmet) CalculationSpecialSkillLv(uid string, gourmet *pb.DBGo
|
|||||||
var totalTime int32
|
var totalTime int32
|
||||||
for _, v := range gourmet.Foods {
|
for _, v := range gourmet.Foods {
|
||||||
if v.FoodCount > 0 {
|
if v.FoodCount > 0 {
|
||||||
|
preScaleTime := 0
|
||||||
|
preSkillConf := this.module.configure.GetGourmetConfigData(skillType, skilllv-1)
|
||||||
|
if preSkillConf != nil {
|
||||||
|
preScaleTime = int(preSkillConf.Needtime)
|
||||||
|
}
|
||||||
_skillCfg := this.module.configure.GetGourmetConfigData(skillType, skilllv)
|
_skillCfg := this.module.configure.GetGourmetConfigData(skillType, skilllv)
|
||||||
if _skillCfg != nil {
|
if _skillCfg != nil {
|
||||||
totalTime += _skillCfg.Needtime * v.FoodCount
|
scaleTime := (_skillCfg.Needtime - int32(preScaleTime)) * v.FoodCount
|
||||||
v.CookTime += totalTime
|
totalTime += scaleTime
|
||||||
|
v.CookTime += scaleTime
|
||||||
if v.CookTime < 0 { // 担心配置错误 为负数情况 所以这里做下判断
|
if v.CookTime < 0 { // 担心配置错误 为负数情况 所以这里做下判断
|
||||||
v.CookTime = 0
|
v.CookTime = 0
|
||||||
}
|
}
|
||||||
mapData["foods"] = gourmet.Foods
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 总时间也减少了
|
// 总时间也减少了
|
||||||
|
mapData["foods"] = gourmet.Foods
|
||||||
gourmet.OrderCostTime += totalTime
|
gourmet.OrderCostTime += totalTime
|
||||||
mapData["orderCostTime"] = gourmet.OrderCostTime
|
mapData["orderCostTime"] = gourmet.OrderCostTime
|
||||||
mapData["specialSkill"] = gourmet.SpecialSkill
|
mapData["specialSkill"] = gourmet.SpecialSkill
|
||||||
|
@ -17,10 +17,13 @@ func NewModule() core.IModule {
|
|||||||
|
|
||||||
type Hero struct {
|
type Hero struct {
|
||||||
modules.ModuleBase
|
modules.ModuleBase
|
||||||
api *apiComp
|
api *apiComp
|
||||||
configure *configureComp
|
configure *configureComp
|
||||||
modelHero *ModelHero
|
modelHero *ModelHero
|
||||||
modelRecord *ModelRecord
|
modelRecord *ModelRecord
|
||||||
|
moduleFetter comm.IHeroFetter
|
||||||
|
|
||||||
|
service core.IService
|
||||||
}
|
}
|
||||||
|
|
||||||
//模块名
|
//模块名
|
||||||
@ -31,6 +34,7 @@ func (this *Hero) GetType() core.M_Modules {
|
|||||||
//模块初始化接口 注册用户创建角色事件
|
//模块初始化接口 注册用户创建角色事件
|
||||||
func (this *Hero) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
func (this *Hero) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||||
err = this.ModuleBase.Init(service, module, options)
|
err = this.ModuleBase.Init(service, module, options)
|
||||||
|
this.service = service
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,6 +48,11 @@ func (this *Hero) OnInstallComp() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
func (this *Hero) Start() (err error) {
|
func (this *Hero) Start() (err error) {
|
||||||
|
var module core.IModule
|
||||||
|
if module, err = this.service.GetModule(comm.ModuleLibrary); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.moduleFetter = module.(comm.IHeroFetter)
|
||||||
err = this.ModuleBase.Start()
|
err = this.ModuleBase.Start()
|
||||||
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
|
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
|
||||||
return
|
return
|
||||||
@ -59,6 +68,13 @@ func (this *Hero) CreateRepeatHero(session comm.IUserSession, heroCfgId string,
|
|||||||
_hero, err := this.modelHero.createHeroOverlying(session.GetUserId(), heroCfgId, num)
|
_hero, err := this.modelHero.createHeroOverlying(session.GetUserId(), heroCfgId, num)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
go func(uid string, heroCfgId string) { // 携程处理 图鉴数据
|
go func(uid string, heroCfgId string) { // 携程处理 图鉴数据
|
||||||
|
|
||||||
|
_data := this.moduleFetter.QueryOneHeroFetter(session, heroCfgId) // 查询获得英雄是否存在羁绊信息
|
||||||
|
this.Debugf("%v", _data)
|
||||||
|
if _data == nil {
|
||||||
|
this.moduleFetter.AddHeroFetterData(session, heroCfgId) // 创建一个新的羁绊数据
|
||||||
|
}
|
||||||
|
|
||||||
if result, err1 := this.ModuleUser.GetUserExpand(uid); err1 == nil {
|
if result, err1 := this.ModuleUser.GetUserExpand(uid); err1 == nil {
|
||||||
initUpdate := map[string]interface{}{}
|
initUpdate := map[string]interface{}{}
|
||||||
sz := result.GetTujian()
|
sz := result.GetTujian()
|
||||||
@ -256,6 +272,12 @@ func (this *Hero) CreateRepeatHeros(session comm.IUserSession, heros map[string]
|
|||||||
sz = make(map[string]int32, 0)
|
sz = make(map[string]int32, 0)
|
||||||
}
|
}
|
||||||
for k := range heros {
|
for k := range heros {
|
||||||
|
_data := this.moduleFetter.QueryOneHeroFetter(session, k) // 查询获得英雄是否存在羁绊信息
|
||||||
|
this.Debugf("%v", _data)
|
||||||
|
if _data == nil {
|
||||||
|
this.moduleFetter.AddHeroFetterData(session, k) // 创建一个新的羁绊数据
|
||||||
|
}
|
||||||
|
|
||||||
if _, ok := result.GetTujian()[k]; !ok {
|
if _, ok := result.GetTujian()[k]; !ok {
|
||||||
sz[k] = 0
|
sz[k] = 0
|
||||||
initUpdate["tujian"] = sz
|
initUpdate["tujian"] = sz
|
||||||
|
@ -16,7 +16,7 @@ type modelFetter struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *modelFetter) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *modelFetter) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
this.TableName = string(comm.TableLibrary)
|
this.TableName = string(comm.TableFetter)
|
||||||
err = this.MCompModel.Init(service, module, comp, options)
|
err = this.MCompModel.Init(service, module, comp, options)
|
||||||
this.module = module.(*Library)
|
this.module = module.(*Library)
|
||||||
// uid 创建索引
|
// uid 创建索引
|
||||||
@ -26,22 +26,23 @@ func (this *modelFetter) Init(service core.IService, module core.IModule, comp c
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *modelFetter) modifyLibraryDataByObjId(uid string, data map[string]interface{}) error {
|
// 修改英雄羁绊数据
|
||||||
return this.Change(uid, data)
|
func (this *modelFetter) modifyHeroFetterDataByObjId(uid string, obj string, data map[string]interface{}) error {
|
||||||
|
return this.ChangeList(uid, obj, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取列表信息
|
// 获取列表信息
|
||||||
func (this *modelFetter) getLibraryList(uid string) []*pb.DBLibrary {
|
func (this *modelFetter) getHeroFetterList(uid string) []*pb.DBHeroFetter {
|
||||||
libs := make([]*pb.DBLibrary, 0)
|
fetters := make([]*pb.DBHeroFetter, 0)
|
||||||
err := this.GetList(uid, &libs)
|
err := this.GetList(uid, &fetters)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return libs
|
return fetters
|
||||||
}
|
}
|
||||||
|
|
||||||
//创建一条信息
|
//创建一条信息
|
||||||
func (this *modelFetter) createLibrary(uid string, fetter *pb.DBLibrary) (err error) {
|
func (this *modelFetter) createHeroFetter(uid string, fetter *pb.DBHeroFetter) (err error) {
|
||||||
|
|
||||||
if err = this.AddList(uid, fetter.Id, fetter); err != nil {
|
if err = this.AddList(uid, fetter.Id, fetter); err != nil {
|
||||||
this.module.Errorf("%v", err)
|
this.module.Errorf("%v", err)
|
||||||
@ -51,8 +52,8 @@ func (this *modelFetter) createLibrary(uid string, fetter *pb.DBLibrary) (err er
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 通过objid 找对应的数据
|
// 通过objid 找对应的数据
|
||||||
func (this *modelFetter) getOneLibrary(uid, oid string) *pb.DBLibrary {
|
func (this *modelFetter) getOneHeroFetter(uid, oid string) *pb.DBHeroFetter {
|
||||||
fetter := &pb.DBLibrary{}
|
fetter := &pb.DBHeroFetter{}
|
||||||
err := this.GetListObj(uid, oid, fetter)
|
err := this.GetListObj(uid, oid, fetter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
|
@ -26,8 +26,8 @@ func (this *modelLibrary) Init(service core.IService, module core.IModule, comp
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *modelLibrary) modifyLibraryDataByObjId(uid string, data map[string]interface{}) error {
|
func (this *modelLibrary) modifyLibraryDataByObjId(uid string, obj string, data map[string]interface{}) error {
|
||||||
return this.Change(uid, data)
|
return this.ChangeList(uid, obj, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取列表信息
|
// 获取列表信息
|
||||||
|
@ -12,6 +12,7 @@ import (
|
|||||||
type Library struct {
|
type Library struct {
|
||||||
modules.ModuleBase
|
modules.ModuleBase
|
||||||
modelLibrary *modelLibrary
|
modelLibrary *modelLibrary
|
||||||
|
modelFetter *modelFetter
|
||||||
api *apiComp
|
api *apiComp
|
||||||
configure *configureComp
|
configure *configureComp
|
||||||
}
|
}
|
||||||
@ -34,20 +35,21 @@ func (this *Library) OnInstallComp() {
|
|||||||
this.ModuleBase.OnInstallComp()
|
this.ModuleBase.OnInstallComp()
|
||||||
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
|
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
|
||||||
this.modelLibrary = this.RegisterComp(new(modelLibrary)).(*modelLibrary)
|
this.modelLibrary = this.RegisterComp(new(modelLibrary)).(*modelLibrary)
|
||||||
|
this.modelFetter = this.RegisterComp(new(modelFetter)).(*modelFetter)
|
||||||
|
|
||||||
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 接口信息
|
// 接口信息 更新藏书馆数据
|
||||||
func (this *Library) ModifyLibraryData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
|
func (this *Library) ModifyLibraryData(uid string, obj string, data map[string]interface{}) (code pb.ErrorCode) {
|
||||||
err := this.modelLibrary.modifyLibraryDataByObjId(uid, data)
|
err := this.modelLibrary.modifyLibraryDataByObjId(uid, obj, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
code = pb.ErrorCode_DBError
|
code = pb.ErrorCode_DBError
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//英雄列表
|
// 获取藏书馆列表
|
||||||
func (this *Library) GetLibraryList(uid string) []*pb.DBLibrary {
|
func (this *Library) GetLibraryList(uid string) []*pb.DBLibrary {
|
||||||
return this.modelLibrary.getLibraryList(uid)
|
return this.modelLibrary.getLibraryList(uid)
|
||||||
}
|
}
|
||||||
@ -82,3 +84,52 @@ func (this *Library) CreateLibrary(uid string, fids []int32, heroConfId string)
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
func (this *Library) ModifyHeroFetterData(uid string, obj string, data map[string]interface{}) (code pb.ErrorCode) {
|
||||||
|
err := this.modelFetter.modifyHeroFetterDataByObjId(uid, obj, data)
|
||||||
|
if err != nil {
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
func (this *Library) GetHeroFetterList(uid string) []*pb.DBHeroFetter {
|
||||||
|
return this.modelFetter.getHeroFetterList(uid)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建一条英雄羁绊信息
|
||||||
|
func (this *Library) createHeroFetter(uid string, heroConfId string) (code pb.ErrorCode) {
|
||||||
|
|
||||||
|
obj := &pb.DBHeroFetter{
|
||||||
|
Id: primitive.NewObjectID().Hex(),
|
||||||
|
Uid: uid,
|
||||||
|
Heroid: heroConfId,
|
||||||
|
History: 0,
|
||||||
|
Favorlv: 1, // 所有好感度默认1级
|
||||||
|
Stroyprize: 0,
|
||||||
|
}
|
||||||
|
if err := this.modelFetter.createHeroFetter(uid, obj); err != nil {
|
||||||
|
code = pb.ErrorCode_DBError
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Library) QueryHeroFetter(session comm.IUserSession) (data []*pb.DBHeroFetter) {
|
||||||
|
data = this.GetHeroFetterList(session.GetUserId())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Library) QueryOneHeroFetter(session comm.IUserSession, cid string) *pb.DBHeroFetter {
|
||||||
|
_data := this.GetHeroFetterList(session.GetUserId())
|
||||||
|
for _, v := range _data {
|
||||||
|
if v.Heroid == cid {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建一条羁绊信息
|
||||||
|
func (this *Library) AddHeroFetterData(session comm.IUserSession, heroConfId string) {
|
||||||
|
this.createHeroFetter(session.GetUserId(), heroConfId)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user