锦标赛
This commit is contained in:
parent
a2189782be
commit
6b379a2de5
@ -531,7 +531,7 @@ func (p *Player) CatnipBackData() {
|
||||
func (p *Player) GetChampshipActivityId() (int, int) {
|
||||
var todayActivityId int
|
||||
var yesterdayActivityId int
|
||||
activiyCfgList := G_GameLogicPtr.ActivityMgr.GetActivityList()
|
||||
activiyCfgList := G_GameLogicPtr.ActivityMgr.GetChampshipCfgList()
|
||||
now := GoUtil.Now()
|
||||
level := p.GetBaseMod().GetLevel()
|
||||
type sortData struct {
|
||||
|
||||
@ -70,23 +70,55 @@ func (r *ActivityMgr) GetActivityList() []ActivityCfg {
|
||||
list := make([]ActivityCfg, 0, len(data.List))
|
||||
now := GoUtil.Now()
|
||||
for _, v := range data.List {
|
||||
info := *v
|
||||
//循环活动,重新计算活动时间
|
||||
if v.Interval > 0 {
|
||||
if now > v.Endtime {
|
||||
if info.Interval > 0 {
|
||||
if now >= info.Endtime {
|
||||
//活动已结束,计算下一次活动时间
|
||||
interval := (now - v.Startime) / v.Interval
|
||||
v.Startime += interval * v.Interval
|
||||
v.Endtime += interval * v.Interval
|
||||
if now > v.Endtime {
|
||||
v.Startime += v.Interval
|
||||
v.Endtime += v.Interval
|
||||
interval := (now - info.Startime) / info.Interval
|
||||
info.Startime += interval * info.Interval
|
||||
info.Endtime += interval * info.Interval
|
||||
if now > info.Endtime {
|
||||
info.Startime += info.Interval
|
||||
info.Endtime += info.Interval
|
||||
}
|
||||
}
|
||||
v.AId = int(v.Startime) //活动id用开始时间表示,方便客户端排序
|
||||
v.AId = int(info.Startime) //活动id用开始时间表示,方便客户端排序
|
||||
} else {
|
||||
v.AId = v.Id
|
||||
}
|
||||
list = append(list, *v)
|
||||
list = append(list, info)
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
func (r *ActivityMgr) GetChampshipCfgList() []ActivityCfg {
|
||||
// 获取活动列表
|
||||
data := r.getData()
|
||||
data.mu.Lock()
|
||||
defer data.mu.Unlock()
|
||||
list := make([]ActivityCfg, 0, len(data.List))
|
||||
now := GoUtil.Now()
|
||||
for _, v := range data.List {
|
||||
info := *v
|
||||
if info.Type != activity.ACT_TYPE_CHAMPION {
|
||||
continue
|
||||
}
|
||||
//循环活动,重新计算活动时间
|
||||
if info.Interval > 0 {
|
||||
v.AId = int(info.Startime)
|
||||
list = append(list, info)
|
||||
internal := (now - info.Startime) / info.Interval
|
||||
for i := int64(0); i <= internal; i++ {
|
||||
v.Startime += info.Interval
|
||||
v.Endtime += info.Interval
|
||||
v.AId = int(info.Startime) //活动id用开始时间表示,方便客户端排序
|
||||
list = append(list, info)
|
||||
}
|
||||
} else {
|
||||
info.AId = info.Id
|
||||
list = append(list, info)
|
||||
}
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user