package game

const (
	ColorKey = "color_config"
)

type ColorMulRate struct {
	Mul  int64 `json:"mul"`  // 赔率
	Rate int   `json:"rate"` // 概率
}
type ColorRoomConfig struct {
	RoomType int    `json:"room_type"` // 房间类型:初级，低级，中级，高级
	Name     string `json:"name"`      // 游戏房间名称
	Blind    int64  `json:"blind"`     // 底注
	Rate     int64  `json:"rate"`      // 房间明税率

	WinSingleColorWeight []int             `json:"win_single_color_weight"` // 胜利单色奖励三个权重
	WinSingleColorMul    [][]*ColorMulRate `json:"win_single_color_mul"`    // 胜利单色奖励赔率 (1个同色,2个同色,3个同色)
	WinDoubleColorMul    []*ColorMulRate   `json:"win_double_color_mul"`    // 胜利双色奖励赔率
	WinThreeColorMul     []*ColorMulRate   `json:"win_three_color_mul"`     // 胜利三色奖励赔率
	InitJackpot          int64             `json:"init_jackpot"`            // 初始jackpot值
	JackpotRate          int               `json:"jackpot_rate"`            // 单色投注区域每个颜色出现jackpot的概率
	JpXRate              int               `json:"jp_x_rate"`               // jp池赎回比例
	JpYRate              int               `json:"jp_y_rate"`               // jp池追加比例
	JpXYRate             int               `json:"jp_xy_rate"`              // 系统池为正时jackpot追加比例

	AreaBetLimit  int64     `json:"area_bet_limit"`   // 下注区域自己的下注限制
	NoBetCountMax int       `json:"no_bet_count_max"` // 未操作回合踢出房间
	BetList       [][]int64 `json:"bet_list"`         // 筹码
	BetLevel      []int64   `json:"bet_level"`        // 筹码等级
	BetMap        map[int64][]int32
	TotalBetLimit int64 `json:"total_bet_limit"`
}

type ColorGameTiming struct {
	//Ready         int64 // 准备倒计时
	Start         int64 // 开始
	Betting       int64 // 下注
	EndBetting    int64 // 结束下注
	OpenThreeDice int64 // 开普通3个骰子
	Settle        int64 // 结算
	//Ranking       int64 // 排行榜
}

type ColorConfig struct {
	Rooms      []*ColorRoomConfig `json:"rooms"` // 房间信息
	GameTiming *ColorGameTiming   `json:"game_timing"`
}
