38 lines
949 B
Go
38 lines
949 B
Go
package logic
|
|
|
|
import (
|
|
"ecs/proto/pb"
|
|
"github.com/oylshe1314/framework/util"
|
|
)
|
|
|
|
type PlayerLottery struct {
|
|
PoolId uint32 `json:"pool_id" key:"1"`
|
|
Points uint32 `json:"points"`
|
|
}
|
|
|
|
func (this *Player) MsgBuildLotteryPoolListAck() *pb.LotteryPoolListAck {
|
|
var now = util.NowUnix()
|
|
var poolTables = this.manager.tables.LotteryPool.List()
|
|
var poolList = make([]*pb.LotteryPool, 0, len(poolTables))
|
|
for _, poolTable := range poolTables {
|
|
if poolTable.RawBeginTime > 0 && poolTable.RawEndTime > 0 {
|
|
if poolTable.RawBeginTime > now || poolTable.RawEndTime <= now {
|
|
continue
|
|
}
|
|
}
|
|
var pool = &pb.LotteryPool{PoolId: uint32(poolTable.Id)}
|
|
var lottery = this.Lottery[uint32(poolTable.Id)]
|
|
if lottery != nil {
|
|
pool.Points = lottery.Points
|
|
}
|
|
|
|
poolList = append(poolList)
|
|
}
|
|
var ack = &pb.LotteryPoolListAck{PoolList: poolList}
|
|
var lottery = this.Lottery[0]
|
|
if lottery != nil {
|
|
ack.Points = lottery.Points
|
|
}
|
|
return ack
|
|
}
|