package srvdata import ( "mongo.games.com/game/protocol/server" "sort" ) func init() { DataMgr.RegisterLoader("DB_Task.dat", TaskMgr) } var TaskMgr = &Task{} type Task struct { ActivityType map[int32][]*server.DB_Task TaskType map[int32][]*server.DB_Task } func (m *Task) Load(fileFullPath string) error { m.ActivityType = make(map[int32][]*server.DB_Task) m.TaskType = make(map[int32][]*server.DB_Task) for _, v := range PBDB_TaskMgr.Datas.GetArr() { m.ActivityType[v.GetActivityType()] = append(m.ActivityType[v.GetActivityType()], v) m.TaskType[v.GetTaskType()] = append(m.TaskType[v.GetTaskType()], v) } for _, v := range m.ActivityType { sort.Slice(v, func(i, j int) bool { return v[i].GetOrder() < v[j].GetOrder() }) } return nil } func (m *Task) Reload(fileFullPath string) error { return m.Load(fileFullPath) } func (m *Task) GetActivityType(tp int32) []*server.DB_Task { return m.ActivityType[tp] } func (m *Task) GetTaskType(tp int32) []*server.DB_Task { return m.TaskType[tp] }