| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package sngmatch
- import (
- "bet24.com/log"
- item "bet24.com/servers/micros/item_inventory/proto"
- "bet24.com/servers/micros/matches/handler/matchbase"
- )
- type matchconfig struct {
- MatchId int
- Name string
- Desc string
- GameId int
- GameName string
- GameRule string
- TotalUser int
- TableUser int
- Target int
- PlayTime int
- EnrollFee []item.ItemPack
- Prizes []matchbase.Prize_config
- matchbase.Time_config
- // 扩展部分
- OnlineUser int
- TotalPrizeAmount int // 奖励总金币数量
- PrizeDesc string // 奖励描述,如果为空,显示TotalPrizeAmount
- DailyFreeCount int // 每日免费次数
- LeftFreeCount int // 剩余免费次数
- RobotConfig *matchbase.Robot_config `json:",omitempty"`
- Level int
- EleminateByScore bool
- WinnerCount int
- }
- func (mc *matchconfig) dump() {
- log.Release(" MatchId[%d],Name[%s],GameName[%s],TotalUser[%d],TableUser[%d],Target[%d],PlayTime[%d],Fee%v,Prizes%v,Online[%d],TotalPrize[%d]",
- mc.MatchId, mc.Name, mc.GameName, mc.TotalUser, mc.TableUser, mc.Target, mc.PlayTime, mc.EnrollFee, mc.Prizes, mc.OnlineUser, mc.TotalPrizeAmount)
- if mc.RobotConfig != nil {
- log.Release(" RobotConfig:%v", *mc.RobotConfig)
- }
- }
- func (mc *matchconfig) getPrizes(rank int) []item.ItemPack {
- var ret []item.ItemPack
- for _, v := range mc.Prizes {
- if v.Rank == rank {
- return v.Prize
- }
- }
- return ret
- }
- func (mc *matchconfig) calTotalPrize() {
- if len(mc.EnrollFee) == 0 {
- mc.DailyFreeCount = 0
- }
- mc.TotalPrizeAmount = 0
- for _, v := range mc.Prizes {
- mc.TotalPrizeAmount += v.GetPrizeValue()
- }
- }
- func (mc *matchconfig) addOnline(add int) {
- mc.OnlineUser += add
- if mc.OnlineUser < 0 {
- mc.OnlineUser = 0
- }
- }
- func (mc *matchconfig) setLeftFreeCount(userId int) {
- mc.RobotConfig = nil
- if mc.DailyFreeCount == 0 {
- return
- }
- mc.LeftFreeCount = mc.DailyFreeCount - getFreeCountManager().getUserFreeCount(userId, mc.MatchId)
- }
|