package island import ( "fmt" "go_dreamfactory/comm" "go_dreamfactory/modules" cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/lego/core" ) const ( game_puggsyevent = "game_puggsyevent.json" game_puggsyskill = "game_puggsyskill.json" game_puggsyfight = "game_puggsyfight.json" game_puggsyscore = "game_puggsyscore.json" game_passcheck = "game_passcheck.json" game_puggsystar = "game_puggsystar.json" game_puggsyrecruit = "game_puggsyrecruit.json" ) // /背包配置管理组件 type ConfigureComp struct { modules.MCompConfigure module *IsLand } // 组件初始化接口 func (this *ConfigureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*IsLand) err = this.LoadConfigure(game_puggsyevent, cfg.NewGamePuggsyEvent) err = this.LoadConfigure(game_puggsyskill, cfg.NewGamePuggsySkill) err = this.LoadConfigure(game_puggsyfight, cfg.NewGamePuggsyFight) err = this.LoadConfigure(game_puggsyscore, cfg.NewGamePuggsyScore) err = this.LoadConfigure(game_passcheck, cfg.NewGamePassCheck) err = this.LoadConfigure(game_puggsystar, cfg.NewGamePuggsyStar) err = this.LoadConfigure(game_puggsyrecruit, cfg.NewGamePuggsyRecruit) return } //关卡 func (this *ConfigureComp) getGamePuggsyEventData(id int32) (configure *cfg.GamePuggsyEventData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_puggsyevent); err != nil { this.module.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.GamePuggsyEvent).GetDataMap()[id]; !ok { err = fmt.Errorf("no found Material:%d configure", id) this.module.Errorf("err:%v", err) return } } return } //战斗表 func (this *ConfigureComp) getGamePuggsyFightData(id int32) (configure *cfg.GamePuggsyFightData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_puggsyfight); err != nil { this.module.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.GamePuggsyFight).GetDataMap()[id]; !ok { err = fmt.Errorf("no found Material:%d configure", id) this.module.Errorf("err:%v", err) return } } return } //技能节点 func (this *ConfigureComp) getGamePuggsySkillData(id int32) (configure *cfg.GamePuggsySkillData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_puggsyskill); err != nil { this.module.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.GamePuggsySkill).GetDataMap()[id]; !ok { err = fmt.Errorf("no found Material:%d configure", id) this.module.Errorf("err:%v", err) return } } return } //技能节点 func (this *ConfigureComp) getGamePuggsySkilllvData(nid, lv int32) (conf *cfg.GamePuggsySkillData, err error) { var ( v interface{} ) if v, err = this.GetConfigure(game_puggsyskill); err != nil { this.module.Errorf("err:%v", err) return } else { for _, v := range v.(*cfg.GamePuggsySkill).GetDataList() { if v.NodeId == nid && v.Lv == lv { conf = v return } } } return } // 获取伤害对应的评分组 func (this *ConfigureComp) getGamePuggsyScoreData(harm int32) (results *cfg.GamePuggsyScoreData, err error) { var ( v interface{} ) if v, err = this.GetConfigure(game_puggsyscore); err != nil { return } else { for _, v := range v.(*cfg.GamePuggsyScore).GetDataList() { if harm >= v.RankLow && (harm <= v.RankUp || v.RankUp == -1) { results = v return } } err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_puggsyscore, fmt.Sprintf(" harm%d", harm)) this.module.Errorf("err:%v", err) } return } // 获取伤害对应的评分组 func (this *ConfigureComp) getGamePuggsyScoreDatas(min, max int32) (confs []*cfg.GamePuggsyScoreData, err error) { var ( v interface{} ) if v, err = this.GetConfigure(game_puggsyscore); err != nil { return } else { for _, v := range v.(*cfg.GamePuggsyScore).GetDataList() { if v.RankUp > min && v.RankUp <= max { confs = append(confs, v) } } err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_puggsyscore, fmt.Sprintf("%d-%d", min, max)) this.module.Errorf("err:%v", err) } return } // 获取伤害对应的评分组 func (this *ConfigureComp) getGamePassCheckTaskData() (confs []*cfg.GamePassCheckTaskData, err error) { var ( v interface{} ) if v, err = this.GetConfigure(game_passcheck); err != nil { return } else { for _, v := range v.(*cfg.GamePassCheckTask).GetDataList() { if v.PasscheckType == 5 { confs = append(confs, v) } } } return } // 获取伤害对应的评分组 func (this *ConfigureComp) getGamePuggsyStarData(id int32) (conf *cfg.GamePuggsyStarData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_puggsystar); err != nil { return } else { if conf, ok = v.(*cfg.GamePuggsyStar).GetDataMap()[id]; !ok { err = fmt.Errorf("no found Material:%d configure", id) this.module.Errorf("err:%v", err) return } } return } // 获取伤害对应的评分组 func (this *ConfigureComp) getGamePuggsyRecruit(id int32) (conf *cfg.GamePuggsyRecruitData, err error) { var ( v interface{} ok bool ) if v, err = this.GetConfigure(game_puggsyrecruit); err != nil { return } else { if conf, ok = v.(*cfg.GamePuggsyRecruit).GetDataMap()[id]; !ok { err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_puggsyrecruit, id) this.module.Errorf("err:%v", err) return } } return }