ecs/servers/game/data/skill.go
2025-06-14 18:49:31 +08:00

41 lines
666 B
Go

package data
import json "github.com/json-iterator/go"
type Skill struct {
Id int `json:"id"`
SkillType int `json:"skill_type"`
SkillBuff []int `json:"skill_buff"`
}
type SkillTable struct {
l []*Skill
m map[int]*Skill
}
func (this *SkillTable) load(buf []byte) error {
var err = json.Unmarshal(buf, &this.l)
if err != nil {
return err
}
this.m = make(map[int]*Skill)
for i := range this.l {
this.m[this.l[i].Id] = this.l[i]
}
return nil
}
func (this *SkillTable) List() []*Skill {
return this.l
}
func (this *SkillTable) Get(i int) *Skill {
return this.l[i]
}
func (this *SkillTable) Find(id int) *Skill {
return this.m[id]
}