45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
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]
|
|
}
|