ecs/servers/game/data_old/warship_skill_ext.go
2025-06-04 18:17:39 +08:00

40 lines
946 B
Go

package data
import "github.com/oylshe1314/framework/util"
type WarshipSkillTableExtend struct {
*WarshipSkillTable
extMap1 map[int][]*WarshipSkill
}
func (this *WarshipSkillTableExtend) init() error {
if this.WarshipSkillTable == nil {
return nil
}
this.extMap1 = map[int][]*WarshipSkill{}
for _, d := range this.l {
this.extMap1[d.PassiveSkillStyle] = append(this.extMap1[d.PassiveSkillStyle], d)
}
return nil
}
func (this *WarshipSkillTableExtend) List(passiveSkillStyle int) []*WarshipSkill {
return this.extMap1[passiveSkillStyle]
}
func (this *WarshipSkillTableExtend) Random(passiveSkillStyle int, exclude map[int]struct{}) *WarshipSkill {
var skillTables []*WarshipSkill
for _, skill := range this.List(passiveSkillStyle) {
if _, ok := exclude[skill.SkillId]; !ok {
skillTables = append(skillTables, skill)
}
}
return util.RandomWeights(skillTables, func(i int) int {
return skillTables[i].Weight
})
}