package comm import ( "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" "sync" ) var buriedParamPool = &sync.Pool{ New: func() interface{} { return &pb.BuriedParam{ Value: 0, Filter: make([]int32, 0), } }, } // 普通任务 func GetBuriedParam(t TaskType, vaule int32, p ...int32) *pb.BuriedParam { task := buriedParamPool.Get().(*pb.BuriedParam) task.TaskType = int32(t) task.Value = vaule if len(p) > 0 { task.Filter = append(task.Filter, p...) } return task } // 统计型任务 func GetBuriedParam2(t TaskType, statistics string, p ...int32) *pb.BuriedParam { task := buriedParamPool.Get().(*pb.BuriedParam) task.TaskType = int32(t) task.Statistics = statistics if len(p) > 0 { task.Filter = append(task.Filter, p...) } return task } func PutburiedParam(r *pb.BuriedParam) { r.Filter = r.Filter[:0] r.Value = 0 r.Statistics = "" buriedParamPool.Put(r) } var buriedConIProgressPool = &sync.Pool{ New: func() interface{} { return &pb.ConIProgress{} }, } // 普通任务 func GetBuriedConIProgress(conf *cfg.GameBuriedCondiData, item *pb.DBBuriedConItem) *pb.ConIProgress { progress := buriedConIProgressPool.Get().(*pb.ConIProgress) progress.Btype = conf.Ctype progress.Conid = item.Conid progress.Target = conf.Value progress.Value = item.Value progress.State = item.Finish return progress } // 普通任务 func GetBuriedConIProgress2() *pb.ConIProgress { progress := buriedConIProgressPool.Get().(*pb.ConIProgress) return progress } func PutburiedConIProgress(r *pb.ConIProgress) { buriedConIProgressPool.Put(r) }