package space import ( "blazing/cool" "blazing/logic/service/space/info" "sync/atomic" "time" "github.com/gogf/gf/v2/util/grand" ) func (s *Space) getfixboss(mapid uint32) { switch mapid { case 12: s.MapBossInfo = info.MapBossInfo{ Id: 47, Hp: 10, } cool.Cron.ScheduleFunc(10*time.Second, func() { s.MapBossInfo.Pos = (grand.Intn(4) + 1 + s.MapBossInfo.Pos) % 5 println(s.Name, "pos", s.MapBossInfo.Pos, "hp", s.MapBossInfo.Hp) var t info.MapBossSInfo t.INFO = append(t.INFO, s.MapBossInfo) s.Broadcast(nil, 2021, &t) }) cool.Cron.ScheduleFunc(300*time.Second, func() { atomic.StoreInt32(&s.MapBossInfo.Hp, 10) }) case 108: s.MapBossInfo = info.MapBossInfo{ Id: 219, } cool.Cron.ScheduleFunc(10*time.Second, func() { var t info.MapBossSInfo s.MapBossInfo.Pos = (grand.Intn(6) + 1 + s.MapBossInfo.Pos) % 6 t.INFO = append(t.INFO, s.MapBossInfo) s.Broadcast(nil, 2021, &t) }) } }