Compare commits
5 Commits
62f27c4723
...
1d52b88bdd
Author | SHA1 | Date |
---|---|---|
|
1d52b88bdd | |
|
a92a04a81d | |
|
cf196814e0 | |
|
88e548bf6a | |
|
88f2bf7f7c |
|
@ -119,6 +119,7 @@ const (
|
||||||
GameDifFruits = "306" // 水果机
|
GameDifFruits = "306" // 水果机
|
||||||
GameDifRichblessed = "307" // 多彩多福
|
GameDifRichblessed = "307" // 多彩多福
|
||||||
GameDifClawdoll = "608" // 娃娃机
|
GameDifClawdoll = "608" // 娃娃机
|
||||||
|
GameDifPushCoin = "609" // 推币机
|
||||||
)
|
)
|
||||||
|
|
||||||
// IsTienLenYuLe TienLen娱乐
|
// IsTienLenYuLe TienLen娱乐
|
||||||
|
@ -344,6 +345,10 @@ const (
|
||||||
GainWayNianGain_EveryDayTask = 132 //年兽活动每日任务
|
GainWayNianGain_EveryDayTask = 132 //年兽活动每日任务
|
||||||
GainWayNianGain_Task = 133 //年兽活动任务
|
GainWayNianGain_Task = 133 //年兽活动任务
|
||||||
GainWayConsume = 134 //累消活动获得
|
GainWayConsume = 134 //累消活动获得
|
||||||
|
GainWayPushCoinExchangeCost = 135 // 推币机兑换消耗
|
||||||
|
GainWatPushCoinExchangeGain = 136 // 推币机兑换获得
|
||||||
|
GainWayPushCoinGain = 137 // 推币机掉落获得
|
||||||
|
GainWayPushCoinCost = 138 // 推币机消耗
|
||||||
)
|
)
|
||||||
|
|
||||||
// 后台选择 金币变化类型 的充值 类型id号起始
|
// 后台选择 金币变化类型 的充值 类型id号起始
|
||||||
|
@ -599,6 +604,7 @@ const (
|
||||||
ItemIDRoomCard = 40002 // 房卡
|
ItemIDRoomCard = 40002 // 房卡
|
||||||
ItemIDLittleGuaranteed = 50014 //小爆竹
|
ItemIDLittleGuaranteed = 50014 //小爆竹
|
||||||
ItemIDBigGuaranteed = 50015 //大爆竹
|
ItemIDBigGuaranteed = 50015 //大爆竹
|
||||||
|
ItemIDBigCoin = 50017 //大金币
|
||||||
)
|
)
|
||||||
|
|
||||||
func ToItemId(id int32) int32 {
|
func ToItemId(id int32) int32 {
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
ЎЌ ЁГ
|
||||||
|
иЎЌ
|
||||||
|
Р†
|
||||||
|
ВЎЌ Ќ
|
||||||
|
Ь±к ђN
|
||||||
|
о±к Р†
|
||||||
|
ъўЌ Ќ
|
||||||
|
иб† Р†
|
||||||
|
¶а† °к
|
||||||
|
d¶к ЂВЧ/
|
|
@ -0,0 +1,76 @@
|
||||||
|
{
|
||||||
|
"Arr": [
|
||||||
|
{
|
||||||
|
"Id": 1,
|
||||||
|
"Rate": 4000,
|
||||||
|
"Gain": {
|
||||||
|
"100001": 5
|
||||||
|
},
|
||||||
|
"Value": 25000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 2,
|
||||||
|
"Rate": 1000,
|
||||||
|
"Gain": {
|
||||||
|
"100001": 10
|
||||||
|
},
|
||||||
|
"Value": 50000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 3,
|
||||||
|
"Rate": 450,
|
||||||
|
"Gain": {
|
||||||
|
"100001": 20
|
||||||
|
},
|
||||||
|
"Value": 100000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 4,
|
||||||
|
"Rate": 1500,
|
||||||
|
"Gain": {
|
||||||
|
"30001": 1
|
||||||
|
},
|
||||||
|
"Value": 10000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 5,
|
||||||
|
"Rate": 750,
|
||||||
|
"Gain": {
|
||||||
|
"30001": 5
|
||||||
|
},
|
||||||
|
"Value": 50000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 6,
|
||||||
|
"Rate": 250,
|
||||||
|
"Gain": {
|
||||||
|
"100002": 1
|
||||||
|
},
|
||||||
|
"Value": 100000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 7,
|
||||||
|
"Rate": 1000,
|
||||||
|
"Gain": {
|
||||||
|
"50017": 1
|
||||||
|
},
|
||||||
|
"Value": 50000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 8,
|
||||||
|
"Rate": 950,
|
||||||
|
"Gain": {
|
||||||
|
"50016": 1
|
||||||
|
},
|
||||||
|
"Value": 30000
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 9,
|
||||||
|
"Rate": 100,
|
||||||
|
"Gain": {
|
||||||
|
"30006": 1
|
||||||
|
},
|
||||||
|
"Value": 100000000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Binary file not shown.
|
@ -7300,6 +7300,81 @@
|
||||||
"CompositionMax": 9999,
|
"CompositionMax": 9999,
|
||||||
"Location": "0",
|
"Location": "0",
|
||||||
"Describe": "可在年兽活动中击退年兽,获得奖品"
|
"Describe": "可在年兽活动中击退年兽,获得奖品"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 50016,
|
||||||
|
"Name": "梅花",
|
||||||
|
"ShowLocation": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"Classify": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"Type": 29,
|
||||||
|
"Effect0": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"Effect": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"SaleType": 1,
|
||||||
|
"SaleGold": 5000,
|
||||||
|
"Composition": 1,
|
||||||
|
"CompositionMax": 9999,
|
||||||
|
"Location": "0",
|
||||||
|
"Describe": "可在推币机活动兑换道具"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 50017,
|
||||||
|
"Name": "大金币",
|
||||||
|
"ShowLocation": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"Classify": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"Type": 29,
|
||||||
|
"Effect0": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"Effect": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"SaleType": 1,
|
||||||
|
"SaleGold": 5000,
|
||||||
|
"Composition": 1,
|
||||||
|
"CompositionMax": 9999,
|
||||||
|
"Location": "0",
|
||||||
|
"Describe": "可在推币机活动兑换道具",
|
||||||
|
"Num": 10
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
"ˇŤ"˘Ťd"ąę
|
"ąę"ˇŤ"˘Ťd
|
||||||
"¡<>"¢<>d"¸ê
|
"¡<>"¢<>d"¸ê
|
||||||
"¡<>"¢<>d"¸ê
|
"¡<>"¢<>d"¸ê
|
||||||
"¡<>"¢<>d
|
"¡<>"¢<>d
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
"¡<>"¢<>]
|
"¡<>"¢<>]
|
||||||
"¢<>\"¡<>
|
"¢<>\"¡<>
|
||||||
"¡<>"¢<>[
|
"¡<>"¢<>[
|
||||||
"ˇŤ"˘ŤZ
|
"˘ŤZ"ˇŤ
|
||||||
"¡<>"¢<>Y
|
"¡<>"¢<>Y
|
||||||
"¡<>"¢<>X
|
"¡<>"¢<>X
|
||||||
"¡<>"¢<>W
|
"¡<>"¢<>W
|
||||||
|
@ -27,54 +27,54 @@
|
||||||
"¡<>"¢<>P
|
"¡<>"¢<>P
|
||||||
"¡<>"¢<>O
|
"¡<>"¢<>O
|
||||||
"¡<>"¢<>N
|
"¡<>"¢<>N
|
||||||
"ˇŤ"˘ŤM
|
"˘ŤM"ˇŤ
|
||||||
"ˇŤ"˘ŤL
|
"˘ŤL"ˇŤ
|
||||||
"¡<>"¢<>K
|
"¡<>"¢<>K
|
||||||
"¡<>"¢<>J
|
"¡<>"¢<>J
|
||||||
"¡<>"¢<>I
|
"¡<>"¢<>I
|
||||||
"ˇŤ"˘ŤH
|
"˘ŤH"ˇŤ
|
||||||
!!"¡<>"¢<>G
|
!!"¡<>"¢<>G
|
||||||
"""¡<>"¢<>F
|
"""¡<>"¢<>F
|
||||||
##"¡<>"¢<>E
|
##"¡<>"¢<>E
|
||||||
$$"¡<>"¢<>D
|
$$"¡<>"¢<>D
|
||||||
%%"¡<>"¢<>C
|
%%"¡<>"¢<>C
|
||||||
&&"˘ŤB"ˇŤ
|
&&"ˇŤ"˘ŤB
|
||||||
''"¡<>"¢<>A
|
''"¡<>"¢<>A
|
||||||
(("˘Ť@"ˇŤ
|
(("ˇŤ"˘Ť@
|
||||||
)"¡<>"¢<>d"¹ê
|
)"¡<>"¢<>d"¹ê
|
||||||
*"¡<>"¢<>d"¸ê
|
*"¡<>"¢<>d"¸ê
|
||||||
+"˘Ťd"¸ę"ˇŤ
|
+"ˇŤ"˘Ťd"¸ę
|
||||||
,"¡<>"¢<>d
|
,"¡<>"¢<>d
|
||||||
-"¡<>"¢<>c
|
-"¡<>"¢<>c
|
||||||
."¡<>"¢<>b
|
."¡<>"¢<>b
|
||||||
/"ˇŤ"˘Ťa
|
/"˘Ťa"ˇŤ
|
||||||
0"¡<>"¢<>`
|
0"¡<>"¢<>`
|
||||||
1 "ˇŤ"˘Ť_
|
1 "˘Ť_"ˇŤ
|
||||||
2
|
2
|
||||||
"¡<>"¢<>^
|
"¡<>"¢<>^
|
||||||
3"¡<>"¢<>]
|
3"¡<>"¢<>]
|
||||||
4"¡<>"¢<>\
|
4"¡<>"¢<>\
|
||||||
5
"¡<>"¢<>[
|
5
"¡<>"¢<>[
|
||||||
6"ˇŤ"˘ŤZ
|
6"˘ŤZ"ˇŤ
|
||||||
7"¡<>"¢<>Y
|
7"¡<>"¢<>Y
|
||||||
8"¢<>X"¡<>
|
8"¢<>X"¡<>
|
||||||
9"˘ŤW"ˇŤ
|
9"ˇŤ"˘ŤW
|
||||||
:"¡<>"¢<>V
|
:"¡<>"¢<>V
|
||||||
;"¡<>"¢<>U
|
;"¡<>"¢<>U
|
||||||
<"¡<>"¢<>T
|
<"¡<>"¢<>T
|
||||||
="¡<>"¢<>S
|
="¡<>"¢<>S
|
||||||
>"˘ŤR"ˇŤ
|
>"ˇŤ"˘ŤR
|
||||||
?"ˇŤ"˘ŤQ
|
?"˘ŤQ"ˇŤ
|
||||||
@"¡<>"¢<>P
|
@"¡<>"¢<>P
|
||||||
A"¡<>"¢<>O
|
A"¡<>"¢<>O
|
||||||
B"¡<>"¢<>N
|
B"¡<>"¢<>N
|
||||||
C"¡<>"¢<>M
|
C"¡<>"¢<>M
|
||||||
D"¡<>"¢<>L
|
D"¡<>"¢<>L
|
||||||
E"¡<>"¢<>K
|
E"¡<>"¢<>K
|
||||||
F"˘ŤJ"ˇŤ
|
F"ˇŤ"˘ŤJ
|
||||||
G"¡<>"¢<>I
|
G"¡<>"¢<>I
|
||||||
H "¡<>"¢<>H
|
H "¡<>"¢<>H
|
||||||
I!"ˇŤ"˘ŤG
|
I!"˘ŤG"ˇŤ
|
||||||
J""¡<>"¢<>F
|
J""¡<>"¢<>F
|
||||||
K#"¡<>"¢<>E
|
K#"¡<>"¢<>E
|
||||||
L$"¡<>"¢<>D
|
L$"¡<>"¢<>D
|
||||||
|
|
Binary file not shown.
|
@ -64,12 +64,70 @@
|
||||||
"100002": 500
|
"100002": 500
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{},
|
{
|
||||||
{},
|
"Id": 5,
|
||||||
{},
|
"Group": 2,
|
||||||
{},
|
"Cost": {
|
||||||
{},
|
"50016": 30
|
||||||
{},
|
},
|
||||||
|
"Gain": {
|
||||||
|
"40002": 1
|
||||||
|
},
|
||||||
|
"Times": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 6,
|
||||||
|
"Group": 2,
|
||||||
|
"Cost": {
|
||||||
|
"50016": 10
|
||||||
|
},
|
||||||
|
"Gain": {
|
||||||
|
"100002": 3
|
||||||
|
},
|
||||||
|
"Times": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 7,
|
||||||
|
"Group": 2,
|
||||||
|
"Cost": {
|
||||||
|
"50016": 5
|
||||||
|
},
|
||||||
|
"Gain": {
|
||||||
|
"30001": 15
|
||||||
|
},
|
||||||
|
"Times": 15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 8,
|
||||||
|
"Group": 2,
|
||||||
|
"Cost": {
|
||||||
|
"50016": 1
|
||||||
|
},
|
||||||
|
"Gain": {
|
||||||
|
"20003": 1
|
||||||
|
},
|
||||||
|
"Times": 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 9,
|
||||||
|
"Group": 2,
|
||||||
|
"Cost": {
|
||||||
|
"50016": 1
|
||||||
|
},
|
||||||
|
"Gain": {
|
||||||
|
"100001": 30000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Id": 10,
|
||||||
|
"Group": 2,
|
||||||
|
"Cost": {
|
||||||
|
"50016": 1
|
||||||
|
},
|
||||||
|
"Custom": {
|
||||||
|
"1": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
|
|
BIN
data/DB_Task.dat
BIN
data/DB_Task.dat
Binary file not shown.
|
@ -34,7 +34,7 @@ const (
|
||||||
ETCDKEY_ACT_Invite = "/game/act_invite" // 邀请活动配置
|
ETCDKEY_ACT_Invite = "/game/act_invite" // 邀请活动配置
|
||||||
ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置
|
ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置
|
||||||
ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置
|
ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置
|
||||||
ETCDKEY_Item = "/game/item" // 道具列表
|
ETCDKEY_Item = "/game/item/" // 道具列表
|
||||||
ETCDKEY_SKin = "/game/skin_config" // 皮肤配置
|
ETCDKEY_SKin = "/game/skin_config" // 皮肤配置
|
||||||
ETCDKEY_RANK_TYPE = "/game/RankType" // 排行榜奖励配置
|
ETCDKEY_RANK_TYPE = "/game/RankType" // 排行榜奖励配置
|
||||||
ETCDKEY_AWARD_CONFIG = "/game/awardlog_config" //获奖记录
|
ETCDKEY_AWARD_CONFIG = "/game/awardlog_config" //获奖记录
|
||||||
|
@ -53,6 +53,7 @@ const (
|
||||||
ETCDKEY_PigBankProp = "/game/pigbank_prop" //存钱罐属性
|
ETCDKEY_PigBankProp = "/game/pigbank_prop" //存钱罐属性
|
||||||
ETCDKEY_NianConfig = "/game/activity_nian" //年兽活动配置
|
ETCDKEY_NianConfig = "/game/activity_nian" //年兽活动配置
|
||||||
ETCDKEY_NianRankConfig = "/game/activity_nian_rank" //年兽排行榜配置
|
ETCDKEY_NianRankConfig = "/game/activity_nian_rank" //年兽排行榜配置
|
||||||
KeyRedPacket = "/game/act_redpacket" //红包配置
|
KeyRedPacket = "/game/act_redpacket" //红包配置
|
||||||
KeyActConsume = "/game/act_consume" //累计消耗活动配置
|
KeyActConsume = "/game/act_consume" //累计消耗活动配置
|
||||||
|
KeyActPushCoin = "/game/act_pushcoin" //推金币活动配置
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package pushcoin
|
||||||
|
|
||||||
|
const (
|
||||||
|
GameStatePlay = iota
|
||||||
|
GameStateMax
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PowerMax = 700000
|
||||||
|
PowerInit = 400000
|
||||||
|
)
|
|
@ -46,13 +46,6 @@ type ScenePolicy interface {
|
||||||
CanAddCoin(s *Scene, p *Player, val int64) bool
|
CanAddCoin(s *Scene, p *Player, val int64) bool
|
||||||
//当前状态能否换桌
|
//当前状态能否换桌
|
||||||
CanChangeCoinScene(s *Scene, p *Player) bool
|
CanChangeCoinScene(s *Scene, p *Player) bool
|
||||||
//创建场景扩展数据
|
|
||||||
CreateSceneExData(s *Scene) interface{}
|
|
||||||
//创建玩家扩展数据
|
|
||||||
CreatePlayerExData(s *Scene, p *Player) interface{}
|
|
||||||
//
|
|
||||||
PacketGameData(s *Scene) interface{}
|
|
||||||
InterventionGame(s *Scene, data interface{}) interface{}
|
|
||||||
//通知分场状态
|
//通知分场状态
|
||||||
NotifyGameState(s *Scene)
|
NotifyGameState(s *Scene)
|
||||||
|
|
||||||
|
@ -237,18 +230,14 @@ func (bsp *BaseScenePolicy) OnAudienceDropLine(s *Scene, p *Player) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func (bsp *BaseScenePolicy) GetSceneState(s *Scene, stateid int) SceneState { return G_BaseSceneState }
|
func (bsp *BaseScenePolicy) GetSceneState(s *Scene, stateid int) SceneState { return G_BaseSceneState }
|
||||||
func (bsp *BaseScenePolicy) IsCompleted(s *Scene) bool { return false }
|
func (bsp *BaseScenePolicy) IsCompleted(s *Scene) bool { return false }
|
||||||
func (bsp *BaseScenePolicy) IsCanForceStart(s *Scene) bool { return false }
|
func (bsp *BaseScenePolicy) IsCanForceStart(s *Scene) bool { return false }
|
||||||
func (bsp *BaseScenePolicy) ForceStart(s *Scene) {}
|
func (bsp *BaseScenePolicy) ForceStart(s *Scene) {}
|
||||||
func (bsp *BaseScenePolicy) CanAddCoin(s *Scene, p *Player, val int64) bool { return true } /*百人牛牛,百人金华多倍结算,且当前是减币的情况下,需要判断*/
|
func (bsp *BaseScenePolicy) CanAddCoin(s *Scene, p *Player, val int64) bool { return true } /*百人牛牛,百人金华多倍结算,且当前是减币的情况下,需要判断*/
|
||||||
func (bsp *BaseScenePolicy) CanChangeCoinScene(s *Scene, p *Player) bool { return false }
|
func (bsp *BaseScenePolicy) CanChangeCoinScene(s *Scene, p *Player) bool { return false }
|
||||||
func (bsp *BaseScenePolicy) CreateSceneExData(s *Scene) interface{} { return false }
|
func (bsp *BaseScenePolicy) NotifyGameState(s *Scene) {}
|
||||||
func (bsp *BaseScenePolicy) CreatePlayerExData(s *Scene, p *Player) interface{} { return false }
|
func (bsp *BaseScenePolicy) GetJackPotVal(s *Scene) int64 { return 0 }
|
||||||
func (bsp *BaseScenePolicy) PacketGameData(s *Scene) interface{} { return nil }
|
|
||||||
func (bsp *BaseScenePolicy) InterventionGame(s *Scene, data interface{}) interface{} { return nil }
|
|
||||||
func (bsp *BaseScenePolicy) NotifyGameState(s *Scene) {}
|
|
||||||
func (bsp *BaseScenePolicy) GetJackPotVal(s *Scene) int64 { return 0 }
|
|
||||||
|
|
||||||
var G_BaseSceneState = &BaseSceneState{}
|
var G_BaseSceneState = &BaseSceneState{}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package thirteen
|
||||||
|
|
||||||
|
import (
|
||||||
|
"mongo.games.com/game/common"
|
||||||
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
"mongo.games.com/game/protocol/pushcoin"
|
||||||
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
"mongo.games.com/goserver/core/netlib"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
common.Register(int(pushcoin.PushCoinPacketID_PACKET_CSPushCoinPlayerOp), &pushcoin.CSPushCoinPlayerOp{}, CSPushCoinPlayerOp)
|
||||||
|
}
|
||||||
|
|
||||||
|
func CSPushCoinPlayerOp(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||||||
|
logger.Logger.Trace("CSPlayerOpHandler Process recv ", data)
|
||||||
|
if msg, ok := data.(*pushcoin.CSPushCoinPlayerOp); ok {
|
||||||
|
p := base.PlayerMgrSington.GetPlayer(sid)
|
||||||
|
if p == nil {
|
||||||
|
logger.Logger.Warn("CSPlayerOpHandler p == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
scene := p.GetScene()
|
||||||
|
if scene == nil {
|
||||||
|
logger.Logger.Warn("CSPlayerOpHandler p.scene == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if scene.KeyGameDif != common.GameDifPushCoin {
|
||||||
|
logger.Logger.Error("CSPlayerOpHandler gameId Error ", scene.GameId)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if !scene.HasPlayer(p) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
sp := scene.GetScenePolicy()
|
||||||
|
if sp != nil {
|
||||||
|
sp.OnPlayerOp(scene, p, int(msg.GetOpCode()), msg.GetOpParam())
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package thirteen
|
||||||
|
|
||||||
|
import (
|
||||||
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GameData struct {
|
||||||
|
Shake int32 // 震动次数
|
||||||
|
Refresh int64 // 刷新次数
|
||||||
|
Power int64 // 能量值
|
||||||
|
Base int64 // 底注
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlayerEx struct {
|
||||||
|
*base.Player //玩家信息
|
||||||
|
*GameData
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewPushCoinPlayerData(p *base.Player, data *GameData) *PlayerEx {
|
||||||
|
playerEx := &PlayerEx{
|
||||||
|
Player: p,
|
||||||
|
GameData: data,
|
||||||
|
}
|
||||||
|
return playerEx
|
||||||
|
}
|
|
@ -0,0 +1,74 @@
|
||||||
|
package thirteen
|
||||||
|
|
||||||
|
import (
|
||||||
|
"mongo.games.com/game/common"
|
||||||
|
rule "mongo.games.com/game/gamerule/pushcoin"
|
||||||
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
"mongo.games.com/game/protocol/pushcoin"
|
||||||
|
"mongo.games.com/game/srvdata"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SceneEx struct {
|
||||||
|
*base.Scene //场景
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewPushCoinSceneData(s *base.Scene) *SceneEx {
|
||||||
|
sceneEx := &SceneEx{
|
||||||
|
Scene: s,
|
||||||
|
}
|
||||||
|
return sceneEx
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *SceneEx) CreateRoomInfoPacket(s *base.Scene, p *base.Player) *pushcoin.SCPushCoinRoomInfo {
|
||||||
|
playerEx, ok := p.ExtraData.(*PlayerEx)
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
roomInfo := &pushcoin.SCPushCoinRoomInfo{
|
||||||
|
RoomId: int32(s.GetSceneId()),
|
||||||
|
GameId: s.GameId,
|
||||||
|
RoomMode: int32(s.GetSceneMode()),
|
||||||
|
Params: common.CopySliceInt64ToInt32(s.GetParams()),
|
||||||
|
State: int32(s.GetSceneState().GetState()),
|
||||||
|
TimeOut: int32(s.GetSceneState().GetTimeout(s)),
|
||||||
|
BetList: s.GetDBGameFree().GetOtherIntParams(),
|
||||||
|
}
|
||||||
|
|
||||||
|
player := pushcoin.PushCoinPlayerData{
|
||||||
|
Name: p.Name,
|
||||||
|
SnId: p.SnId,
|
||||||
|
Head: p.Head,
|
||||||
|
Sex: p.Sex,
|
||||||
|
Coin: p.Coin,
|
||||||
|
Flag: int32(p.Flags),
|
||||||
|
VIP: p.VIP,
|
||||||
|
RoleId: p.Roles.ModId,
|
||||||
|
Level: p.Level,
|
||||||
|
Exp: p.Exp,
|
||||||
|
ShakeTimes: playerEx.Shake,
|
||||||
|
BaseCoin: playerEx.Base,
|
||||||
|
PowerLine: playerEx.Power,
|
||||||
|
PowerLineMax: rule.PowerMax,
|
||||||
|
RefreshTimes: playerEx.Refresh,
|
||||||
|
}
|
||||||
|
if p.Roles != nil {
|
||||||
|
player.RoleId = p.Roles.ModId
|
||||||
|
}
|
||||||
|
if p.Skin != nil {
|
||||||
|
player.SkinId = p.Skin.ModId
|
||||||
|
}
|
||||||
|
|
||||||
|
roomInfo.Players = append(roomInfo.Players, &player)
|
||||||
|
|
||||||
|
for _, v := range srvdata.PBDB_PropExchangeMgr.Datas.Arr {
|
||||||
|
if v.GetGroup() == 2 {
|
||||||
|
roomInfo.ExchangeList = append(roomInfo.ExchangeList, &pushcoin.ExchangeInfo{
|
||||||
|
Id: v.GetId(),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return roomInfo
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,332 @@
|
||||||
|
package thirteen
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"mongo.games.com/goserver/core"
|
||||||
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
|
||||||
|
"mongo.games.com/game/common"
|
||||||
|
rule "mongo.games.com/game/gamerule/pushcoin"
|
||||||
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
"mongo.games.com/game/model"
|
||||||
|
"mongo.games.com/game/protocol/pushcoin"
|
||||||
|
)
|
||||||
|
|
||||||
|
var PolicySingleton = &Policy{}
|
||||||
|
|
||||||
|
type Policy struct {
|
||||||
|
base.BaseScenePolicy
|
||||||
|
states [rule.GameStateMax]base.SceneState
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnStart(s *base.Scene) {
|
||||||
|
logger.Logger.Trace("(this *PushCoinPolicy) OnStart, sceneId=", s.GetSceneId())
|
||||||
|
sceneEx := NewPushCoinSceneData(s)
|
||||||
|
if sceneEx != nil {
|
||||||
|
s.ExtraData = sceneEx
|
||||||
|
s.ChangeSceneState(rule.GameStatePlay)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnStop(s *base.Scene) {
|
||||||
|
logger.Logger.Trace("(this *Policy) OnStop , sceneId=", s.GetSceneId())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnTick(s *base.Scene) {
|
||||||
|
if s == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if s.SceneState != nil {
|
||||||
|
s.SceneState.OnTick(s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerEnter(s *base.Scene, p *base.Player) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerEnter, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
sceneEx, ok := s.ExtraData.(*SceneEx)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
data := p.GDatas[s.KeyGamefreeId]
|
||||||
|
if data == nil {
|
||||||
|
data = &model.PlayerGameInfo{}
|
||||||
|
p.GDatas[s.KeyGamefreeId] = data
|
||||||
|
}
|
||||||
|
|
||||||
|
gamedata := &GameData{}
|
||||||
|
if data.DataEx != nil {
|
||||||
|
err := json.Unmarshal(data.DataEx, gamedata)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Error("OnPlayerEnter, json.Unmarshal error, err=", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 底注
|
||||||
|
baseCoins := s.GetDBGameFree().GetOtherIntParams()
|
||||||
|
if len(baseCoins) > 0 {
|
||||||
|
gamedata.Base = baseCoins[0]
|
||||||
|
} else {
|
||||||
|
gamedata.Base = 5000
|
||||||
|
}
|
||||||
|
gamedata.Power = rule.PowerInit
|
||||||
|
}
|
||||||
|
|
||||||
|
p.ExtraData = NewPushCoinPlayerData(p, gamedata)
|
||||||
|
//给自己发送房间信息
|
||||||
|
this.SendRoomInfo(s, p, sceneEx)
|
||||||
|
s.FirePlayerEvent(p, base.PlayerEventEnter, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerLeave(s *base.Scene, p *base.Player, reason int) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerLeave, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
|
||||||
|
playerEx, ok := p.ExtraData.(*PlayerEx)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
data := p.GDatas[s.KeyGamefreeId]
|
||||||
|
if data == nil {
|
||||||
|
data = &model.PlayerGameInfo{}
|
||||||
|
p.GDatas[s.KeyGamefreeId] = data
|
||||||
|
}
|
||||||
|
|
||||||
|
b, err := json.Marshal(playerEx.GameData)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Error("OnPlayerLeave, json.Marshal error, err=", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
data.DataEx = b
|
||||||
|
|
||||||
|
s.FirePlayerEvent(p, base.PlayerEventLeave, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerDropLine(s *base.Scene, p *base.Player) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerDropLine, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
s.FirePlayerEvent(p, base.PlayerEventDropLine, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerRehold(s *base.Scene, p *base.Player) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerRehold, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
sceneEx, ok := s.ExtraData.(*SceneEx)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.SendRoomInfo(s, p, sceneEx)
|
||||||
|
s.FirePlayerEvent(p, base.PlayerEventRehold, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerReturn(s *base.Scene, p *base.Player) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerRehold, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
sceneEx, ok := s.ExtraData.(*SceneEx)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.SendRoomInfo(s, p, sceneEx)
|
||||||
|
s.FirePlayerEvent(p, base.PlayerEventReturn, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, params []int64) bool {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerOp, sceneId=", s.GetSceneId(), " player=", p.SnId, " opcode=", opcode, " params=", params)
|
||||||
|
if s.SceneState != nil {
|
||||||
|
p.LastOPTimer = time.Now()
|
||||||
|
return s.SceneState.OnPlayerOp(s, p, opcode, params)
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnPlayerEvent(s *base.Scene, p *base.Player, evtcode int, params []int64) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnPlayerEvent, sceneId=", s.GetSceneId(), " player=", p.SnId, " eventcode=", evtcode, " params=", params)
|
||||||
|
if s.SceneState != nil {
|
||||||
|
s.SceneState.OnPlayerEvent(s, p, evtcode, params)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnAudienceEnter(s *base.Scene, p *base.Player) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnAudienceEnter, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
if sceneEx, ok := s.ExtraData.(*SceneEx); ok {
|
||||||
|
//给自己发送房间信息
|
||||||
|
this.SendRoomInfo(s, p, sceneEx)
|
||||||
|
s.FirePlayerEvent(p, base.AudienceEventEnter, nil)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnAudienceLeave(s *base.Scene, p *base.Player, reason int) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnAudienceLeave, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
s.FirePlayerEvent(p, base.AudienceEventLeave, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnAudienceDropLine(s *base.Scene, p *base.Player) {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.Logger.Trace("(this *Policy) OnAudienceDropLine, sceneId=", s.GetSceneId(), " player=", p.SnId)
|
||||||
|
s.AudienceLeave(p, common.PlayerLeaveReason_DropLine)
|
||||||
|
s.FirePlayerEvent(p, base.AudienceEventDropLine, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) OnAudienceSit(s *base.Scene, p *base.Player) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) IsCompleted(s *base.Scene) bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) IsCanForceStart(s *base.Scene) bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) ForceStart(s *base.Scene) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) CanChangeCoinScene(s *base.Scene, p *base.Player) bool {
|
||||||
|
if s == nil || p == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if s.SceneState != nil {
|
||||||
|
return s.SceneState.CanChangeCoinScene(s, p)
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) SendRoomInfo(s *base.Scene, p *base.Player, sceneEx *SceneEx) {
|
||||||
|
pack := sceneEx.CreateRoomInfoPacket(s, p)
|
||||||
|
p.SendToClient(int(pushcoin.PushCoinPacketID_PACKET_SCPushCoinRoomInfo), pack)
|
||||||
|
}
|
||||||
|
|
||||||
|
//=====================================
|
||||||
|
// StateGaming 游戏中
|
||||||
|
//=====================================
|
||||||
|
|
||||||
|
type StateGaming struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) CanChangeCoinScene(s *base.Scene, p *base.Player) bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) OnLeave(s *base.Scene) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) OnPlayerEvent(s *base.Scene, p *base.Player, evtcode int, params []int64) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) GetState() int {
|
||||||
|
return rule.GameStatePlay
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) CanChangeTo(s base.SceneState) bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) GetTimeout(s *base.Scene) int {
|
||||||
|
if sceneEx, ok := s.GetExtraData().(*SceneEx); ok {
|
||||||
|
return int(time.Now().Sub(sceneEx.StateStartTime) / time.Second)
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) OnEnter(s *base.Scene) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) OnTick(s *base.Scene) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *StateGaming) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, params []int64) bool {
|
||||||
|
logger.Logger.Trace("(this *StateGaming) OnPlayerOp, sceneId=", s.GetSceneId(), " player=", p.SnId, " opcode=", opcode, " params=", params)
|
||||||
|
_, ok := s.ExtraData.(*SceneEx)
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
_, ok = p.ExtraData.(*PlayerEx)
|
||||||
|
if !ok {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
pack := &pushcoin.SCPushCoinPlayerOp{
|
||||||
|
OpRetCode: pushcoin.OpResultCode_OPRC_Error,
|
||||||
|
OpCode: pushcoin.OpCodes(opcode),
|
||||||
|
}
|
||||||
|
|
||||||
|
switch pushcoin.OpCodes(opcode) {
|
||||||
|
case pushcoin.OpCodes_OP_Bet:
|
||||||
|
|
||||||
|
case pushcoin.OpCodes_OP_Gain:
|
||||||
|
|
||||||
|
case pushcoin.OpCodes_OP_Shake:
|
||||||
|
|
||||||
|
case pushcoin.OpCodes_OP_Refresh:
|
||||||
|
|
||||||
|
case pushcoin.OpCodes_OP_Exchange:
|
||||||
|
|
||||||
|
case pushcoin.OpCodes_OP_Draw:
|
||||||
|
|
||||||
|
default:
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
p.SendToClient(int(pushcoin.PushCoinPacketID_PACKET_SCPushCoinPlayerOp), pack)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) RegisteSceneState(state base.SceneState) {
|
||||||
|
if state == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
id := state.GetState()
|
||||||
|
if id < 0 || id >= rule.GameStateMax {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.states[id] = state
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Policy) GetSceneState(s *base.Scene, stateid int) base.SceneState {
|
||||||
|
if stateid >= 0 && stateid < rule.GameStateMax {
|
||||||
|
return this.states[stateid]
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
PolicySingleton.RegisteSceneState(&StateGaming{})
|
||||||
|
core.RegisteHook(core.HOOK_BEFORE_START, func() error {
|
||||||
|
base.RegisteScenePolicy(common.GameId_PushCoin, 0, PolicySingleton)
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
|
@ -26,6 +26,7 @@ const (
|
||||||
OpCollect = 6
|
OpCollect = 6
|
||||||
OpNian = 7
|
OpNian = 7
|
||||||
OpConsume = 8 // 累计消耗活动
|
OpConsume = 8 // 累计消耗活动
|
||||||
|
OpPushCoin = 9 // 推金币活动
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -175,6 +176,8 @@ type AllConfig struct {
|
||||||
*webapi.RedPacketConfig
|
*webapi.RedPacketConfig
|
||||||
// 累计消耗活动配置
|
// 累计消耗活动配置
|
||||||
*webapi.ConsumeConfig
|
*webapi.ConsumeConfig
|
||||||
|
// 推金币活动配置
|
||||||
|
*webapi.PushCoinConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
type GlobalConfig struct {
|
type GlobalConfig struct {
|
||||||
|
|
|
@ -557,6 +557,16 @@ type RedPacketData struct {
|
||||||
JN int32 // 参与次数
|
JN int32 // 参与次数
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PushCoinData struct {
|
||||||
|
Shake int32 // 震动次数
|
||||||
|
Refresh int64 // 刷新次数
|
||||||
|
Power int64 // 能量值
|
||||||
|
Base int64 // 底注
|
||||||
|
Value int64 // 价值
|
||||||
|
Exchange map[int32]int32 // 兑换次数 兑换id:兑换次数
|
||||||
|
Dram int // 抽奖次数
|
||||||
|
}
|
||||||
|
|
||||||
type WelfareData struct {
|
type WelfareData struct {
|
||||||
ReliefFundTimes int32 //救济金领取次数
|
ReliefFundTimes int32 //救济金领取次数
|
||||||
Sign7 *NewSignData //七日签到
|
Sign7 *NewSignData //七日签到
|
||||||
|
@ -575,6 +585,7 @@ type WelfareData struct {
|
||||||
PermitExchange map[int32][]int64 // 赛季通行证兑换次数, 多次的兑换时间
|
PermitExchange map[int32][]int64 // 赛季通行证兑换次数, 多次的兑换时间
|
||||||
NianData *NianData //年兽活动数据
|
NianData *NianData //年兽活动数据
|
||||||
RedPacket map[int64]*RedPacketData // 红包活动 活动id:领取次数
|
RedPacket map[int64]*RedPacketData // 红包活动 活动id:领取次数
|
||||||
|
PushCoin *PushCoinData // 推币机活动
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewWelfareData() *WelfareData {
|
func NewWelfareData() *WelfareData {
|
||||||
|
|
|
@ -1,515 +0,0 @@
|
||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.27.1-devel
|
|
||||||
// protoc v3.19.4
|
|
||||||
// source: protocol/activity/actsign.proto
|
|
||||||
|
|
||||||
package activity
|
|
||||||
|
|
||||||
import (
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
//操作结果
|
|
||||||
type OpResultCode_ActSign int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_Sucess OpResultCode_ActSign = 0 //成功
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_Error OpResultCode_ActSign = 1 //失败
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_Close OpResultCode_ActSign = 1001 //活动未开启
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_PayNum_Low OpResultCode_ActSign = 1002 //未达到最低充值金额
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_Config_Vip_Error OpResultCode_ActSign = 1003 //vip不匹配
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_Config_Day_Error OpResultCode_ActSign = 1004 //签到天数不匹配
|
|
||||||
OpResultCode_ActSign_OPRC_Activity_Sign_Repeat OpResultCode_ActSign = 1005 //重复签到
|
|
||||||
)
|
|
||||||
|
|
||||||
// Enum value maps for OpResultCode_ActSign.
|
|
||||||
var (
|
|
||||||
OpResultCode_ActSign_name = map[int32]string{
|
|
||||||
0: "OPRC_Activity_Sign_Sucess",
|
|
||||||
1: "OPRC_Activity_Sign_Error",
|
|
||||||
1001: "OPRC_Activity_Sign_Close",
|
|
||||||
1002: "OPRC_Activity_Sign_PayNum_Low",
|
|
||||||
1003: "OPRC_Activity_Sign_Config_Vip_Error",
|
|
||||||
1004: "OPRC_Activity_Sign_Config_Day_Error",
|
|
||||||
1005: "OPRC_Activity_Sign_Repeat",
|
|
||||||
}
|
|
||||||
OpResultCode_ActSign_value = map[string]int32{
|
|
||||||
"OPRC_Activity_Sign_Sucess": 0,
|
|
||||||
"OPRC_Activity_Sign_Error": 1,
|
|
||||||
"OPRC_Activity_Sign_Close": 1001,
|
|
||||||
"OPRC_Activity_Sign_PayNum_Low": 1002,
|
|
||||||
"OPRC_Activity_Sign_Config_Vip_Error": 1003,
|
|
||||||
"OPRC_Activity_Sign_Config_Day_Error": 1004,
|
|
||||||
"OPRC_Activity_Sign_Repeat": 1005,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func (x OpResultCode_ActSign) Enum() *OpResultCode_ActSign {
|
|
||||||
p := new(OpResultCode_ActSign)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x OpResultCode_ActSign) String() string {
|
|
||||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (OpResultCode_ActSign) Descriptor() protoreflect.EnumDescriptor {
|
|
||||||
return file_protocol_activity_actsign_proto_enumTypes[0].Descriptor()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (OpResultCode_ActSign) Type() protoreflect.EnumType {
|
|
||||||
return &file_protocol_activity_actsign_proto_enumTypes[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x OpResultCode_ActSign) Number() protoreflect.EnumNumber {
|
|
||||||
return protoreflect.EnumNumber(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use OpResultCode_ActSign.Descriptor instead.
|
|
||||||
func (OpResultCode_ActSign) EnumDescriptor() ([]byte, []int) {
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 签到
|
|
||||||
type ActSignPacketID int32
|
|
||||||
|
|
||||||
const (
|
|
||||||
ActSignPacketID_PACKET_SignZero ActSignPacketID = 0 // 弃用消息号
|
|
||||||
ActSignPacketID_PACKET_CSSign ActSignPacketID = 2662 // 签到
|
|
||||||
ActSignPacketID_PACKET_SCSign ActSignPacketID = 2663
|
|
||||||
ActSignPacketID_PACKET_CSSignData ActSignPacketID = 2664 // 签到数据
|
|
||||||
ActSignPacketID_PACKET_SCSignData ActSignPacketID = 2665
|
|
||||||
)
|
|
||||||
|
|
||||||
// Enum value maps for ActSignPacketID.
|
|
||||||
var (
|
|
||||||
ActSignPacketID_name = map[int32]string{
|
|
||||||
0: "PACKET_SignZero",
|
|
||||||
2662: "PACKET_CSSign",
|
|
||||||
2663: "PACKET_SCSign",
|
|
||||||
2664: "PACKET_CSSignData",
|
|
||||||
2665: "PACKET_SCSignData",
|
|
||||||
}
|
|
||||||
ActSignPacketID_value = map[string]int32{
|
|
||||||
"PACKET_SignZero": 0,
|
|
||||||
"PACKET_CSSign": 2662,
|
|
||||||
"PACKET_SCSign": 2663,
|
|
||||||
"PACKET_CSSignData": 2664,
|
|
||||||
"PACKET_SCSignData": 2665,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func (x ActSignPacketID) Enum() *ActSignPacketID {
|
|
||||||
p := new(ActSignPacketID)
|
|
||||||
*p = x
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x ActSignPacketID) String() string {
|
|
||||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ActSignPacketID) Descriptor() protoreflect.EnumDescriptor {
|
|
||||||
return file_protocol_activity_actsign_proto_enumTypes[1].Descriptor()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ActSignPacketID) Type() protoreflect.EnumType {
|
|
||||||
return &file_protocol_activity_actsign_proto_enumTypes[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x ActSignPacketID) Number() protoreflect.EnumNumber {
|
|
||||||
return protoreflect.EnumNumber(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use ActSignPacketID.Descriptor instead.
|
|
||||||
func (ActSignPacketID) EnumDescriptor() ([]byte, []int) {
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
//PACKET_CSSign
|
|
||||||
type CSSign struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
SignIndex int32 `protobuf:"varint,1,opt,name=SignIndex,proto3" json:"SignIndex,omitempty"`
|
|
||||||
SignType int32 `protobuf:"varint,2,opt,name=SignType,proto3" json:"SignType,omitempty"` //0.普通签到 1.双倍签到
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CSSign) Reset() {
|
|
||||||
*x = CSSign{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CSSign) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*CSSign) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *CSSign) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[0]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use CSSign.ProtoReflect.Descriptor instead.
|
|
||||||
func (*CSSign) Descriptor() ([]byte, []int) {
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CSSign) GetSignIndex() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.SignIndex
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CSSign) GetSignType() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.SignType
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//PACKET_SCSign
|
|
||||||
type SCSign struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
SignIndex int32 `protobuf:"varint,1,opt,name=SignIndex,proto3" json:"SignIndex,omitempty"`
|
|
||||||
SignType int32 `protobuf:"varint,2,opt,name=SignType,proto3" json:"SignType,omitempty"` //0.普通签到 1.双倍签到
|
|
||||||
OpRetCode OpResultCode_ActSign `protobuf:"varint,3,opt,name=OpRetCode,proto3,enum=activity.OpResultCode_ActSign" json:"OpRetCode,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSign) Reset() {
|
|
||||||
*x = SCSign{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSign) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SCSign) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SCSign) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[1]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use SCSign.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SCSign) Descriptor() ([]byte, []int) {
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSign) GetSignIndex() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.SignIndex
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSign) GetSignType() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.SignType
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSign) GetOpRetCode() OpResultCode_ActSign {
|
|
||||||
if x != nil {
|
|
||||||
return x.OpRetCode
|
|
||||||
}
|
|
||||||
return OpResultCode_ActSign_OPRC_Activity_Sign_Sucess
|
|
||||||
}
|
|
||||||
|
|
||||||
//PACKET_CSSignData
|
|
||||||
type CSSignData struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CSSignData) Reset() {
|
|
||||||
*x = CSSignData{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[2]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CSSignData) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*CSSignData) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *CSSignData) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[2]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use CSSignData.ProtoReflect.Descriptor instead.
|
|
||||||
func (*CSSignData) Descriptor() ([]byte, []int) {
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescGZIP(), []int{2}
|
|
||||||
}
|
|
||||||
|
|
||||||
//PACKET_SCSignData
|
|
||||||
type SCSignData struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
SignCount int32 `protobuf:"varint,1,opt,name=SignCount,proto3" json:"SignCount,omitempty"`
|
|
||||||
TodaySign int32 `protobuf:"varint,2,opt,name=TodaySign,proto3" json:"TodaySign,omitempty"` //0.未签到 1.已签到
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSignData) Reset() {
|
|
||||||
*x = SCSignData{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[3]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSignData) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*SCSignData) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *SCSignData) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_protocol_activity_actsign_proto_msgTypes[3]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use SCSignData.ProtoReflect.Descriptor instead.
|
|
||||||
func (*SCSignData) Descriptor() ([]byte, []int) {
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescGZIP(), []int{3}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSignData) GetSignCount() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.SignCount
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *SCSignData) GetTodaySign() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.TodaySign
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_protocol_activity_actsign_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_protocol_activity_actsign_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76,
|
|
||||||
0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, 0x74, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x12, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x42, 0x0a, 0x06, 0x43,
|
|
||||||
0x53, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x64,
|
|
||||||
0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e,
|
|
||||||
0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18,
|
|
||||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22,
|
|
||||||
0x80, 0x01, 0x0a, 0x06, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x69,
|
|
||||||
0x67, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53,
|
|
||||||
0x69, 0x67, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e,
|
|
||||||
0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x69, 0x67, 0x6e,
|
|
||||||
0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
|
|
||||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
|
|
||||||
0x74, 0x79, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f,
|
|
||||||
0x41, 0x63, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f,
|
|
||||||
0x64, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61,
|
|
||||||
0x22, 0x48, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c,
|
|
||||||
0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
||||||
0x05, 0x52, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
|
|
||||||
0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
|
||||||
0x09, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x2a, 0x8a, 0x02, 0x0a, 0x14, 0x4f,
|
|
||||||
0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x5f, 0x41, 0x63, 0x74, 0x53,
|
|
||||||
0x69, 0x67, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x74, 0x69,
|
|
||||||
0x76, 0x69, 0x74, 0x79, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73,
|
|
||||||
0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76,
|
|
||||||
0x69, 0x74, 0x79, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01,
|
|
||||||
0x12, 0x1d, 0x0a, 0x18, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
|
|
||||||
0x79, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x10, 0xe9, 0x07, 0x12,
|
|
||||||
0x22, 0x0a, 0x1d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
|
|
||||||
0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5f, 0x50, 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x5f, 0x4c, 0x6f, 0x77,
|
|
||||||
0x10, 0xea, 0x07, 0x12, 0x28, 0x0a, 0x23, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x74, 0x69,
|
|
||||||
0x76, 0x69, 0x74, 0x79, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
|
||||||
0x5f, 0x56, 0x69, 0x70, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xeb, 0x07, 0x12, 0x28, 0x0a,
|
|
||||||
0x23, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x53,
|
|
||||||
0x69, 0x67, 0x6e, 0x5f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x44, 0x61, 0x79, 0x5f, 0x45,
|
|
||||||
0x72, 0x72, 0x6f, 0x72, 0x10, 0xec, 0x07, 0x12, 0x1e, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f,
|
|
||||||
0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5f, 0x52, 0x65,
|
|
||||||
0x70, 0x65, 0x61, 0x74, 0x10, 0xed, 0x07, 0x2a, 0x7e, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x53, 0x69,
|
|
||||||
0x67, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41,
|
|
||||||
0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x5a, 0x65, 0x72, 0x6f, 0x10, 0x00, 0x12,
|
|
||||||
0x12, 0x0a, 0x0d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e,
|
|
||||||
0x10, 0xe6, 0x14, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43,
|
|
||||||
0x53, 0x69, 0x67, 0x6e, 0x10, 0xe7, 0x14, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
|
||||||
0x54, 0x5f, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x10, 0xe8, 0x14, 0x12,
|
|
||||||
0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e,
|
|
||||||
0x44, 0x61, 0x74, 0x61, 0x10, 0xe9, 0x14, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f,
|
|
||||||
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f,
|
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
|
|
||||||
0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_protocol_activity_actsign_proto_rawDescOnce sync.Once
|
|
||||||
file_protocol_activity_actsign_proto_rawDescData = file_protocol_activity_actsign_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_protocol_activity_actsign_proto_rawDescGZIP() []byte {
|
|
||||||
file_protocol_activity_actsign_proto_rawDescOnce.Do(func() {
|
|
||||||
file_protocol_activity_actsign_proto_rawDescData = protoimpl.X.CompressGZIP(file_protocol_activity_actsign_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_protocol_activity_actsign_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_protocol_activity_actsign_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
|
||||||
var file_protocol_activity_actsign_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
|
||||||
var file_protocol_activity_actsign_proto_goTypes = []interface{}{
|
|
||||||
(OpResultCode_ActSign)(0), // 0: activity.OpResultCode_ActSign
|
|
||||||
(ActSignPacketID)(0), // 1: activity.ActSignPacketID
|
|
||||||
(*CSSign)(nil), // 2: activity.CSSign
|
|
||||||
(*SCSign)(nil), // 3: activity.SCSign
|
|
||||||
(*CSSignData)(nil), // 4: activity.CSSignData
|
|
||||||
(*SCSignData)(nil), // 5: activity.SCSignData
|
|
||||||
}
|
|
||||||
var file_protocol_activity_actsign_proto_depIdxs = []int32{
|
|
||||||
0, // 0: activity.SCSign.OpRetCode:type_name -> activity.OpResultCode_ActSign
|
|
||||||
1, // [1:1] is the sub-list for method output_type
|
|
||||||
1, // [1:1] is the sub-list for method input_type
|
|
||||||
1, // [1:1] is the sub-list for extension type_name
|
|
||||||
1, // [1:1] is the sub-list for extension extendee
|
|
||||||
0, // [0:1] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_protocol_activity_actsign_proto_init() }
|
|
||||||
func file_protocol_activity_actsign_proto_init() {
|
|
||||||
if File_protocol_activity_actsign_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_protocol_activity_actsign_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*CSSign); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_protocol_activity_actsign_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SCSign); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_protocol_activity_actsign_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*CSSignData); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_protocol_activity_actsign_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*SCSignData); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_protocol_activity_actsign_proto_rawDesc,
|
|
||||||
NumEnums: 2,
|
|
||||||
NumMessages: 4,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 0,
|
|
||||||
},
|
|
||||||
GoTypes: file_protocol_activity_actsign_proto_goTypes,
|
|
||||||
DependencyIndexes: file_protocol_activity_actsign_proto_depIdxs,
|
|
||||||
EnumInfos: file_protocol_activity_actsign_proto_enumTypes,
|
|
||||||
MessageInfos: file_protocol_activity_actsign_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_protocol_activity_actsign_proto = out.File
|
|
||||||
file_protocol_activity_actsign_proto_rawDesc = nil
|
|
||||||
file_protocol_activity_actsign_proto_goTypes = nil
|
|
||||||
file_protocol_activity_actsign_proto_depIdxs = nil
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
package activity;
|
|
||||||
option go_package = "mongo.games.com/game/protocol/activity";
|
|
||||||
|
|
||||||
//操作结果
|
|
||||||
enum OpResultCode_ActSign {
|
|
||||||
OPRC_Activity_Sign_Sucess = 0; //成功
|
|
||||||
OPRC_Activity_Sign_Error = 1; //失败
|
|
||||||
OPRC_Activity_Sign_Close = 1001; //活动未开启
|
|
||||||
OPRC_Activity_Sign_PayNum_Low = 1002; //未达到最低充值金额
|
|
||||||
OPRC_Activity_Sign_Config_Vip_Error = 1003; //vip不匹配
|
|
||||||
OPRC_Activity_Sign_Config_Day_Error = 1004; //签到天数不匹配
|
|
||||||
OPRC_Activity_Sign_Repeat = 1005; //重复签到
|
|
||||||
}
|
|
||||||
// 签到
|
|
||||||
enum ActSignPacketID {
|
|
||||||
PACKET_SignZero = 0;// 弃用消息号
|
|
||||||
PACKET_CSSign = 2662;// 签到
|
|
||||||
PACKET_SCSign = 2663;
|
|
||||||
PACKET_CSSignData = 2664;// 签到数据
|
|
||||||
PACKET_SCSignData = 2665;
|
|
||||||
}
|
|
||||||
|
|
||||||
//PACKET_CSSign
|
|
||||||
message CSSign {
|
|
||||||
int32 SignIndex = 1;
|
|
||||||
int32 SignType = 2; //0.普通签到 1.双倍签到
|
|
||||||
}
|
|
||||||
//PACKET_SCSign
|
|
||||||
message SCSign {
|
|
||||||
int32 SignIndex = 1;
|
|
||||||
int32 SignType = 2; //0.普通签到 1.双倍签到
|
|
||||||
OpResultCode_ActSign OpRetCode = 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
//PACKET_CSSignData
|
|
||||||
message CSSignData {
|
|
||||||
}
|
|
||||||
//PACKET_SCSignData
|
|
||||||
message SCSignData {
|
|
||||||
int32 SignCount = 1;
|
|
||||||
int32 TodaySign = 2; //0.未签到 1.已签到
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,88 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
package activity;
|
||||||
|
option go_package = "mongo.games.com/game/protocol/activity";
|
||||||
|
|
||||||
|
enum PushCoinPacketID {
|
||||||
|
PACKET_PushCoin_ZERO = 0;// 弃用消息号
|
||||||
|
PACKET_CSPushCoinInfo = 2680; // 信息
|
||||||
|
PACKET_SCPushCoinInfo = 2681; // 信息返回
|
||||||
|
PACKET_CSPushCoinPlayerOp = 2682; // 玩家操作
|
||||||
|
PACKET_SCPushCoinPlayerOp = 2683; // 玩家操作返回
|
||||||
|
PACKET_NotifyPowerLine = 2684; // 通知能量值
|
||||||
|
PACKET_NotifyDrawInfo = 2685; // 抽奖信息
|
||||||
|
}
|
||||||
|
|
||||||
|
//信息
|
||||||
|
//PACKET_CSPushCoinInfo
|
||||||
|
message CSPushCoinInfo {
|
||||||
|
}
|
||||||
|
//PACKET_SCPushCoinInfo
|
||||||
|
message SCPushCoinInfo {
|
||||||
|
repeated ExchangeInfo ExchangeList = 1; //兑换信息
|
||||||
|
repeated DrawInfo DrawList = 2; //抽奖信息
|
||||||
|
repeated int64 BetList = 3; //下注金额列表
|
||||||
|
int32 ShakeTimes = 4; //可震动次数
|
||||||
|
int64 BaseCoin = 5; //当前底分(单次投币金额)
|
||||||
|
int64 PowerLine = 6; // 当前能量值
|
||||||
|
int64 PowerLineMax = 7; // 能量值上限
|
||||||
|
int64 RefreshTimes = 8; // 刷新次数
|
||||||
|
}
|
||||||
|
|
||||||
|
message ItemInfo{
|
||||||
|
int32 ItemId = 1; //道具id
|
||||||
|
int32 ItemNum = 2; //道具数量
|
||||||
|
}
|
||||||
|
|
||||||
|
message ExchangeInfo{
|
||||||
|
int32 Id = 1; //兑换id
|
||||||
|
repeated ItemInfo Cost = 2; //消耗道具
|
||||||
|
repeated ItemInfo Gain = 3; //获得道具
|
||||||
|
int32 ShakeTimes = 4; //获得震动次数
|
||||||
|
int64 Times = 5; //可兑换次数 -1无限
|
||||||
|
int64 TotalTimes = 6; //总共兑换次数 -1无限
|
||||||
|
}
|
||||||
|
|
||||||
|
//抽奖信息
|
||||||
|
//PACKET_NotifyDrawInfo
|
||||||
|
message DrawInfo{
|
||||||
|
int32 Id = 1; //抽奖id
|
||||||
|
int32 ItemId = 2; //道具id
|
||||||
|
int32 ItemNum = 3; //道具数量
|
||||||
|
int64 Coin = 4; //价值
|
||||||
|
}
|
||||||
|
|
||||||
|
//玩家操作
|
||||||
|
//PACKET_CSPushCoinPlayerOp
|
||||||
|
message CSPushCoinPlayerOp {
|
||||||
|
OpCodes OpCode = 1;
|
||||||
|
int64 OpParam = 2;
|
||||||
|
repeated ItemInfo OpItem = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum OpCodes {
|
||||||
|
OP_Zero = 0;
|
||||||
|
OP_Bet = 1; // 下注 OpParam 下注金额
|
||||||
|
OP_Gain = 2; // 得分 OpItem 获得道具
|
||||||
|
OP_Shake = 3; // 震动 OpParam 消耗次数
|
||||||
|
OP_Refresh = 4; // 刷新 OpParam 桌面金额
|
||||||
|
OP_Exchange = 5; // 兑换 OpParam 兑换id
|
||||||
|
}
|
||||||
|
|
||||||
|
enum OpResultPushCoinCode {
|
||||||
|
OPRC_PushCoin_Success = 0; //成功
|
||||||
|
OPRC_PushCoin_Error = 1; //失败
|
||||||
|
}
|
||||||
|
|
||||||
|
//PACKET_SCPushCoinPlayerOp
|
||||||
|
message SCPushCoinPlayerOp {
|
||||||
|
OpResultPushCoinCode OpRetCode = 1;
|
||||||
|
OpCodes OpCode = 2;
|
||||||
|
ExchangeInfo Exchange = 3; // 兑换信息,加到背包
|
||||||
|
}
|
||||||
|
|
||||||
|
//通知能量值
|
||||||
|
//PACKET_NotifyPowerLine
|
||||||
|
message NotifyPowerLine {
|
||||||
|
int64 PowerLine = 1; // 当前能量值
|
||||||
|
int64 PowerLineMax = 2; // 能量值上限
|
||||||
|
}
|
|
@ -199,6 +199,7 @@ type SCPushCoinRoomInfo struct {
|
||||||
Players []*PushCoinPlayerData `protobuf:"bytes,7,rep,name=Players,proto3" json:"Players,omitempty"` //房间内的玩家信息
|
Players []*PushCoinPlayerData `protobuf:"bytes,7,rep,name=Players,proto3" json:"Players,omitempty"` //房间内的玩家信息
|
||||||
ExchangeList []*ExchangeInfo `protobuf:"bytes,8,rep,name=ExchangeList,proto3" json:"ExchangeList,omitempty"` //兑换信息
|
ExchangeList []*ExchangeInfo `protobuf:"bytes,8,rep,name=ExchangeList,proto3" json:"ExchangeList,omitempty"` //兑换信息
|
||||||
DrawList []*DrawInfo `protobuf:"bytes,9,rep,name=DrawList,proto3" json:"DrawList,omitempty"` //抽奖信息
|
DrawList []*DrawInfo `protobuf:"bytes,9,rep,name=DrawList,proto3" json:"DrawList,omitempty"` //抽奖信息
|
||||||
|
BetList []int64 `protobuf:"varint,10,rep,packed,name=BetList,proto3" json:"BetList,omitempty"` //下注金额列表
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SCPushCoinRoomInfo) Reset() {
|
func (x *SCPushCoinRoomInfo) Reset() {
|
||||||
|
@ -296,6 +297,13 @@ func (x *SCPushCoinRoomInfo) GetDrawList() []*DrawInfo {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *SCPushCoinRoomInfo) GetBetList() []int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.BetList
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type ItemInfo struct {
|
type ItemInfo struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
|
@ -867,7 +875,7 @@ var File_protocol_pushcoin_pushcoin_proto protoreflect.FileDescriptor
|
||||||
var file_protocol_pushcoin_pushcoin_proto_rawDesc = []byte{
|
var file_protocol_pushcoin_pushcoin_proto_rawDesc = []byte{
|
||||||
0x0a, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x75, 0x73, 0x68, 0x63,
|
0x0a, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x75, 0x73, 0x68, 0x63,
|
||||||
0x6f, 0x69, 0x6e, 0x2f, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
|
0x6f, 0x69, 0x6e, 0x2f, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
|
||||||
0x74, 0x6f, 0x12, 0x08, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x22, 0xcc, 0x02, 0x0a,
|
0x74, 0x6f, 0x12, 0x08, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x22, 0xe6, 0x02, 0x0a,
|
||||||
0x12, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
|
0x12, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
|
||||||
0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20,
|
0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47,
|
0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47,
|
||||||
|
@ -888,102 +896,104 @@ var file_protocol_pushcoin_pushcoin_proto_rawDesc = []byte{
|
||||||
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x44,
|
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x44,
|
||||||
0x72, 0x61, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
0x72, 0x61, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
||||||
0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66,
|
0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66,
|
||||||
0x6f, 0x52, 0x08, 0x44, 0x72, 0x61, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x08, 0x49,
|
0x6f, 0x52, 0x08, 0x44, 0x72, 0x61, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x42,
|
||||||
0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49,
|
0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x42, 0x65,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12,
|
0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66,
|
||||||
0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x45, 0x78,
|
0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65,
|
||||||
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64,
|
0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f,
|
0x4e, 0x75, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
|
||||||
0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63,
|
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x6f, 0x69, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f,
|
0x52, 0x02, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03,
|
||||||
0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
|
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x49, 0x74,
|
||||||
0x32, 0x12, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x6d,
|
0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04,
|
||||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68,
|
0x47, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x75, 0x73,
|
||||||
0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
|
0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
|
||||||
0x53, 0x68, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x08, 0x44, 0x72,
|
0x47, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d,
|
||||||
0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x54,
|
||||||
0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
|
0x69, 0x6d, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x08, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18,
|
0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64,
|
||||||
0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e,
|
0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d,
|
||||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0xae, 0x03, 0x0a,
|
0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e,
|
||||||
0x12, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44,
|
0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
|
||||||
0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0xae, 0x03, 0x0a, 0x12, 0x50, 0x75, 0x73, 0x68, 0x43,
|
||||||
0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18,
|
0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48,
|
0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d,
|
||||||
0x65, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12,
|
0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65,
|
0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x03, 0x20,
|
||||||
0x78, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
|
0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78,
|
||||||
0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20,
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x43,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72,
|
0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12,
|
||||||
0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46,
|
||||||
0x73, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x49, 0x50, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
|
0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20,
|
||||||
0x56, 0x49, 0x50, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20,
|
0x03, 0x28, 0x09, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x56,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4c,
|
0x49, 0x50, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x49, 0x50, 0x12, 0x16, 0x0a,
|
||||||
0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65,
|
0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52,
|
||||||
0x6c, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
|
0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a,
|
||||||
0x45, 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x0c, 0x20,
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x45,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53,
|
0x78, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x16, 0x0a,
|
||||||
0x68, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53,
|
||||||
0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x42,
|
0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x54, 0x69,
|
||||||
0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x42,
|
0x6d, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65,
|
||||||
0x61, 0x73, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6f, 0x77, 0x65, 0x72,
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69,
|
||||||
0x4c, 0x69, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x50, 0x6f, 0x77, 0x65,
|
0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x42, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x69,
|
||||||
0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69,
|
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x0f,
|
||||||
0x6e, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x50, 0x6f, 0x77,
|
0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x12,
|
||||||
0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x66,
|
0x22, 0x0a, 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65, 0x4d, 0x61, 0x78, 0x18,
|
||||||
0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52,
|
0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x65,
|
||||||
0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x5f, 0x0a,
|
0x4d, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69,
|
||||||
0x13, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x53,
|
0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65,
|
||||||
0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
|
0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x13, 0x53, 0x43, 0x50, 0x75, 0x73,
|
||||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75,
|
0x68, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14,
|
||||||
0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x75,
|
0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53,
|
||||||
0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||||
0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x59,
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x75, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||||
0x0a, 0x12, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79,
|
0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05,
|
||||||
0x65, 0x72, 0x4f, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x59, 0x0a, 0x12, 0x43, 0x53, 0x50, 0x75,
|
||||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e,
|
0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x12, 0x29,
|
||||||
0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12,
|
0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11,
|
||||||
0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03,
|
0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65,
|
||||||
0x52, 0x07, 0x4f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0xd1, 0x01, 0x0a, 0x12, 0x53, 0x43,
|
0x73, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x50,
|
||||||
0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70,
|
0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x4f, 0x70, 0x50, 0x61,
|
||||||
0x12, 0x34, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
|
0x72, 0x61, 0x6d, 0x22, 0xd1, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f,
|
||||||
0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x4f,
|
0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x4f, 0x70,
|
||||||
0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52,
|
0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
|
||||||
0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65,
|
0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c,
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69,
|
0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
|
||||||
0x6e, 0x2e, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64,
|
0x12, 0x29, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
|
||||||
0x65, 0x12, 0x32, 0x0a, 0x08, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20,
|
0x32, 0x11, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x4f, 0x70, 0x43, 0x6f,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x45,
|
0x64, 0x65, 0x73, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x45,
|
||||||
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x45, 0x78, 0x63,
|
0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
|
||||||
0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x04, 0x20,
|
0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
|
||||||
0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x44,
|
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12,
|
||||||
0x72, 0x61, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x2a, 0xad, 0x01,
|
0x26, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
||||||
0x0a, 0x10, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74,
|
0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x49, 0x6e, 0x66,
|
||||||
0x49, 0x44, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x75, 0x73,
|
0x6f, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x2a, 0xad, 0x01, 0x0a, 0x10, 0x50, 0x75, 0x73, 0x68,
|
||||||
0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x19,
|
0x43, 0x6f, 0x69, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x14,
|
||||||
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69,
|
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x5f,
|
||||||
0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xa6, 0x2c, 0x12, 0x1f, 0x0a, 0x1a,
|
0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||||
0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69,
|
0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x49,
|
||||||
0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0xa7, 0x2c, 0x12, 0x1e, 0x0a,
|
0x6e, 0x66, 0x6f, 0x10, 0xa6, 0x2c, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54,
|
||||||
0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f,
|
0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x53,
|
||||||
0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xa8, 0x2c, 0x12, 0x1e, 0x0a,
|
0x74, 0x61, 0x74, 0x65, 0x10, 0xa7, 0x2c, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f,
|
0x54, 0x5f, 0x43, 0x53, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79,
|
||||||
0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x10, 0xa9, 0x2c, 0x2a, 0x6b, 0x0a,
|
0x65, 0x72, 0x4f, 0x70, 0x10, 0xa8, 0x2c, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
0x07, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x5a,
|
0x54, 0x5f, 0x53, 0x43, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79,
|
||||||
0x65, 0x72, 0x6f, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x50, 0x5f, 0x42, 0x65, 0x74, 0x10,
|
0x65, 0x72, 0x4f, 0x70, 0x10, 0xa9, 0x2c, 0x2a, 0x6b, 0x0a, 0x07, 0x4f, 0x70, 0x43, 0x6f, 0x64,
|
||||||
0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x47, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0c,
|
0x65, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x5a, 0x65, 0x72, 0x6f, 0x10, 0x00, 0x12,
|
||||||
0x0a, 0x08, 0x4f, 0x50, 0x5f, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a,
|
0x0a, 0x0a, 0x06, 0x4f, 0x50, 0x5f, 0x42, 0x65, 0x74, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f,
|
||||||
0x4f, 0x50, 0x5f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b,
|
0x50, 0x5f, 0x47, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x5f, 0x53,
|
||||||
0x4f, 0x50, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x05, 0x12, 0x0b, 0x0a,
|
0x68, 0x61, 0x6b, 0x65, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x5f, 0x52, 0x65, 0x66,
|
||||||
0x07, 0x4f, 0x50, 0x5f, 0x44, 0x72, 0x61, 0x77, 0x10, 0x06, 0x2a, 0x30, 0x0a, 0x0c, 0x4f, 0x70,
|
0x72, 0x65, 0x73, 0x68, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x5f, 0x45, 0x78, 0x63,
|
||||||
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50,
|
0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x5f, 0x44, 0x72,
|
||||||
0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a,
|
0x61, 0x77, 0x10, 0x06, 0x2a, 0x30, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
|
||||||
0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x42, 0x28, 0x5a, 0x26,
|
0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63,
|
||||||
0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
|
0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45,
|
||||||
0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x75,
|
0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e,
|
||||||
0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x75, 0x73, 0x68, 0x63, 0x6f, 0x69, 0x6e,
|
||||||
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -23,6 +23,7 @@ message SCPushCoinRoomInfo {
|
||||||
repeated PushCoinPlayerData Players = 7; //房间内的玩家信息
|
repeated PushCoinPlayerData Players = 7; //房间内的玩家信息
|
||||||
repeated ExchangeInfo ExchangeList = 8; //兑换信息
|
repeated ExchangeInfo ExchangeList = 8; //兑换信息
|
||||||
repeated DrawInfo DrawList = 9; //抽奖信息
|
repeated DrawInfo DrawList = 9; //抽奖信息
|
||||||
|
repeated int64 BetList = 10; //下注金额列表
|
||||||
}
|
}
|
||||||
|
|
||||||
message ItemInfo{
|
message ItemInfo{
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,6 +5,22 @@ syntax = "proto3";
|
||||||
package server;
|
package server;
|
||||||
option go_package = "mongo.games.com/game/protocol/server";
|
option go_package = "mongo.games.com/game/protocol/server";
|
||||||
|
|
||||||
|
message DB_ACTPushCoin {
|
||||||
|
|
||||||
|
int32 Id = 1;
|
||||||
|
|
||||||
|
int32 Rate = 2;
|
||||||
|
|
||||||
|
map<int64, int64> Gain = 3;
|
||||||
|
|
||||||
|
int64 Value = 4;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message DB_ACTPushCoinArray {
|
||||||
|
repeated DB_ACTPushCoin Arr = 1;
|
||||||
|
}
|
||||||
|
|
||||||
message DB_ActSign {
|
message DB_ActSign {
|
||||||
|
|
||||||
int32 Id = 1;
|
int32 Id = 1;
|
||||||
|
@ -1481,6 +1497,10 @@ message DB_PropExchange {
|
||||||
|
|
||||||
map<int64, int64> Gain = 4;
|
map<int64, int64> Gain = 4;
|
||||||
|
|
||||||
|
map<int64, int64> Custom = 5;
|
||||||
|
|
||||||
|
int32 Times = 6;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message DB_PropExchangeArray {
|
message DB_PropExchangeArray {
|
||||||
|
|
|
@ -10575,6 +10575,78 @@ func (x *ConsumeConfig) GetEndTime() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// etcd /game/act_pushcoin
|
||||||
|
type PushCoinConfig struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台
|
||||||
|
On int32 `protobuf:"varint,2,opt,name=On,proto3" json:"On,omitempty"` // 活动开关 1.开启 2.关闭
|
||||||
|
StartTime string `protobuf:"bytes,3,opt,name=StartTime,proto3" json:"StartTime,omitempty"` // 活动开始时间
|
||||||
|
EndTime string `protobuf:"bytes,4,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 活动结束时间
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) Reset() {
|
||||||
|
*x = PushCoinConfig{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_protocol_webapi_common_proto_msgTypes[114]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*PushCoinConfig) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_protocol_webapi_common_proto_msgTypes[114]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use PushCoinConfig.ProtoReflect.Descriptor instead.
|
||||||
|
func (*PushCoinConfig) Descriptor() ([]byte, []int) {
|
||||||
|
return file_protocol_webapi_common_proto_rawDescGZIP(), []int{114}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetPlatform() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Platform
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetOn() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.On
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetStartTime() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.StartTime
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *PushCoinConfig) GetEndTime() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.EndTime
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
var File_protocol_webapi_common_proto protoreflect.FileDescriptor
|
var File_protocol_webapi_common_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_protocol_webapi_common_proto_rawDesc = []byte{
|
var file_protocol_webapi_common_proto_rawDesc = []byte{
|
||||||
|
@ -12191,10 +12263,17 @@ var file_protocol_webapi_common_proto_rawDesc = []byte{
|
||||||
0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
|
0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
|
0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18,
|
||||||
0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67,
|
0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x0e, 0x50, 0x75, 0x73, 0x68,
|
||||||
0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65,
|
0x43, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c,
|
||||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69,
|
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c,
|
||||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01,
|
||||||
|
0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54,
|
||||||
|
0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74,
|
||||||
|
0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18,
|
||||||
|
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x26,
|
||||||
|
0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f,
|
||||||
|
0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f,
|
||||||
|
0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -12209,7 +12288,7 @@ func file_protocol_webapi_common_proto_rawDescGZIP() []byte {
|
||||||
return file_protocol_webapi_common_proto_rawDescData
|
return file_protocol_webapi_common_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 124)
|
var file_protocol_webapi_common_proto_msgTypes = make([]protoimpl.MessageInfo, 125)
|
||||||
var file_protocol_webapi_common_proto_goTypes = []interface{}{
|
var file_protocol_webapi_common_proto_goTypes = []interface{}{
|
||||||
(*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting
|
(*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting
|
||||||
(*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting
|
(*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting
|
||||||
|
@ -12325,32 +12404,33 @@ var file_protocol_webapi_common_proto_goTypes = []interface{}{
|
||||||
(*RedPacketInfo)(nil), // 111: webapi.RedPacketInfo
|
(*RedPacketInfo)(nil), // 111: webapi.RedPacketInfo
|
||||||
(*RedInfo)(nil), // 112: webapi.RedInfo
|
(*RedInfo)(nil), // 112: webapi.RedInfo
|
||||||
(*ConsumeConfig)(nil), // 113: webapi.ConsumeConfig
|
(*ConsumeConfig)(nil), // 113: webapi.ConsumeConfig
|
||||||
nil, // 114: webapi.Platform.BindTelRewardEntry
|
(*PushCoinConfig)(nil), // 114: webapi.PushCoinConfig
|
||||||
nil, // 115: webapi.PlayerData.RankScoreEntry
|
nil, // 115: webapi.Platform.BindTelRewardEntry
|
||||||
nil, // 116: webapi.ItemShop.AwardEntry
|
nil, // 116: webapi.PlayerData.RankScoreEntry
|
||||||
nil, // 117: webapi.VIPcfg.AwardEntry
|
nil, // 117: webapi.ItemShop.AwardEntry
|
||||||
nil, // 118: webapi.VIPcfg.Privilege1Entry
|
nil, // 118: webapi.VIPcfg.AwardEntry
|
||||||
nil, // 119: webapi.VIPcfg.Privilege7Entry
|
nil, // 119: webapi.VIPcfg.Privilege1Entry
|
||||||
nil, // 120: webapi.VIPcfg.Privilege9Entry
|
nil, // 120: webapi.VIPcfg.Privilege7Entry
|
||||||
nil, // 121: webapi.ActInviteConfig.PayScoreEntry
|
nil, // 121: webapi.VIPcfg.Privilege9Entry
|
||||||
nil, // 122: webapi.SkinLevel.UpItemEntry
|
nil, // 122: webapi.ActInviteConfig.PayScoreEntry
|
||||||
nil, // 123: webapi.SkinItem.UnlockParamEntry
|
nil, // 123: webapi.SkinLevel.UpItemEntry
|
||||||
(*server.DB_GameFree)(nil), // 124: server.DB_GameFree
|
nil, // 124: webapi.SkinItem.UnlockParamEntry
|
||||||
(*server.DB_GameItem)(nil), // 125: server.DB_GameItem
|
(*server.DB_GameFree)(nil), // 125: server.DB_GameFree
|
||||||
|
(*server.DB_GameItem)(nil), // 126: server.DB_GameItem
|
||||||
}
|
}
|
||||||
var file_protocol_webapi_common_proto_depIdxs = []int32{
|
var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch
|
2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch
|
||||||
3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig
|
3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig
|
||||||
4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame
|
4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame
|
||||||
114, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
|
115, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry
|
||||||
6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus
|
6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus
|
||||||
124, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree
|
125, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree
|
||||||
8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree
|
8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree
|
||||||
0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting
|
0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting
|
||||||
1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting
|
1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting
|
||||||
1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting
|
1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting
|
||||||
124, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
|
125, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree
|
||||||
115, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
|
116, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry
|
||||||
32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo
|
32, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo
|
||||||
14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo
|
14, // 13: webapi.PlayerData.RoleUnlockList:type_name -> webapi.ModInfo
|
||||||
14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo
|
14, // 14: webapi.PlayerData.PetUnlockList:type_name -> webapi.ModInfo
|
||||||
|
@ -12363,7 +12443,7 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo
|
32, // 21: webapi.ExchangeShop.Items:type_name -> webapi.ItemInfo
|
||||||
25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop
|
25, // 22: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop
|
||||||
29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight
|
29, // 23: webapi.ExchangeShopList.Weight:type_name -> webapi.ShopWeight
|
||||||
116, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
|
117, // 24: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry
|
||||||
30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop
|
30, // 25: webapi.ItemShopList.List:type_name -> webapi.ItemShop
|
||||||
32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo
|
32, // 26: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo
|
||||||
33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward
|
33, // 27: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward
|
||||||
|
@ -12384,14 +12464,14 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate
|
38, // 42: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate
|
||||||
48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree
|
48, // 43: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree
|
||||||
48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree
|
48, // 44: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree
|
||||||
117, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
|
118, // 45: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry
|
||||||
118, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
|
119, // 46: webapi.VIPcfg.Privilege1:type_name -> webapi.VIPcfg.Privilege1Entry
|
||||||
119, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
|
120, // 47: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry
|
||||||
120, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
|
121, // 48: webapi.VIPcfg.Privilege9:type_name -> webapi.VIPcfg.Privilege9Entry
|
||||||
51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg
|
51, // 49: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg
|
||||||
38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate
|
38, // 50: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate
|
||||||
55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig
|
55, // 51: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig
|
||||||
121, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
|
122, // 52: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry
|
||||||
62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward
|
62, // 53: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward
|
||||||
62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward
|
62, // 54: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward
|
||||||
62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward
|
62, // 55: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward
|
||||||
|
@ -12408,12 +12488,12 @@ var file_protocol_webapi_common_proto_depIdxs = []int32{
|
||||||
69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo
|
69, // 66: webapi.DiamondLotteryData.Info:type_name -> webapi.DiamondLotteryInfo
|
||||||
70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers
|
70, // 67: webapi.DiamondLotteryData.Players:type_name -> webapi.DiamondLotteryPlayers
|
||||||
72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData
|
72, // 68: webapi.DiamondLotteryConfig.LotteryData:type_name -> webapi.DiamondLotteryData
|
||||||
125, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
|
126, // 69: webapi.ItemConfig.Items:type_name -> server.DB_GameItem
|
||||||
32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo
|
32, // 70: webapi.RankAwardInfo.Item:type_name -> webapi.ItemInfo
|
||||||
75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo
|
75, // 71: webapi.RankTypeInfo.Award:type_name -> webapi.RankAwardInfo
|
||||||
76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo
|
76, // 72: webapi.RankTypeConfig.Info:type_name -> webapi.RankTypeInfo
|
||||||
122, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
|
123, // 73: webapi.SkinLevel.UpItem:type_name -> webapi.SkinLevel.UpItemEntry
|
||||||
123, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
|
124, // 74: webapi.SkinItem.UnlockParam:type_name -> webapi.SkinItem.UnlockParamEntry
|
||||||
78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel
|
78, // 75: webapi.SkinItem.Levels:type_name -> webapi.SkinLevel
|
||||||
79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem
|
79, // 76: webapi.SkinConfig.Items:type_name -> webapi.SkinItem
|
||||||
82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData
|
82, // 77: webapi.AwardLogConfig.AwardLog:type_name -> webapi.AwardLogData
|
||||||
|
@ -13822,6 +13902,18 @@ func file_protocol_webapi_common_proto_init() {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
file_protocol_webapi_common_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*PushCoinConfig); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
type x struct{}
|
type x struct{}
|
||||||
out := protoimpl.TypeBuilder{
|
out := protoimpl.TypeBuilder{
|
||||||
|
@ -13829,7 +13921,7 @@ func file_protocol_webapi_common_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_protocol_webapi_common_proto_rawDesc,
|
RawDescriptor: file_protocol_webapi_common_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 124,
|
NumMessages: 125,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -1167,3 +1167,11 @@ message ConsumeConfig{
|
||||||
string StartTime = 3; // 活动开始时间
|
string StartTime = 3; // 活动开始时间
|
||||||
string EndTime = 4; // 活动结束时间
|
string EndTime = 4; // 活动结束时间
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// etcd /game/act_pushcoin
|
||||||
|
message PushCoinConfig{
|
||||||
|
string Platform = 1; // 平台
|
||||||
|
int32 On = 2; // 活动开关 1.开启 2.关闭
|
||||||
|
string StartTime = 3; // 活动开始时间
|
||||||
|
string EndTime = 4; // 活动结束时间
|
||||||
|
}
|
|
@ -0,0 +1,77 @@
|
||||||
|
|
||||||
|
// Code generated by xlsx2proto.
|
||||||
|
// DO NOT EDIT!
|
||||||
|
|
||||||
|
package srvdata
|
||||||
|
|
||||||
|
import (
|
||||||
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
|
"mongo.games.com/game/protocol/server"
|
||||||
|
)
|
||||||
|
|
||||||
|
var PBDB_ACTPushCoinMgr = &DB_ACTPushCoinMgr{
|
||||||
|
Datas: &server.DB_ACTPushCoinArray{},
|
||||||
|
pool: make(map[int32]*server.DB_ACTPushCoin),
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type DB_ACTPushCoinMgr struct {
|
||||||
|
Datas *server.DB_ACTPushCoinArray
|
||||||
|
pool map[int32]*server.DB_ACTPushCoin
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *DB_ACTPushCoinMgr) unmarshal(data []byte) error {
|
||||||
|
err := proto.Unmarshal(data, this.Datas)
|
||||||
|
if err == nil {
|
||||||
|
this.arrangeData()
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *DB_ACTPushCoinMgr) reunmarshal(data []byte) error {
|
||||||
|
newDatas := &server.DB_ACTPushCoinArray{}
|
||||||
|
err := proto.Unmarshal(data, newDatas)
|
||||||
|
if err == nil {
|
||||||
|
for _, item := range newDatas.Arr {
|
||||||
|
existItem := this.GetData(item.GetId())
|
||||||
|
if existItem == nil {
|
||||||
|
this.pool[item.GetId()] = item
|
||||||
|
this.Datas.Arr = append(this.Datas.Arr, item)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
*existItem = *item
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *DB_ACTPushCoinMgr) arrangeData() {
|
||||||
|
if this.Datas == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
dataArr := this.Datas.GetArr()
|
||||||
|
if dataArr == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, data := range dataArr {
|
||||||
|
this.pool[data.GetId()] = data
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *DB_ACTPushCoinMgr) GetData(id int32) *server.DB_ACTPushCoin {
|
||||||
|
if data, ok := this.pool[id]; ok {
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
DataMgr.register("DB_ACTPushCoin.dat", &ProtobufDataLoader{dh: PBDB_ACTPushCoinMgr})
|
||||||
|
}
|
|
@ -0,0 +1,347 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"mongo.games.com/game/common"
|
||||||
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
"mongo.games.com/game/model"
|
||||||
|
"mongo.games.com/game/protocol/activity"
|
||||||
|
"mongo.games.com/game/protocol/pushcoin"
|
||||||
|
"mongo.games.com/game/srvdata"
|
||||||
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
"mongo.games.com/goserver/core/netlib"
|
||||||
|
"sort"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PowerMax = 700000
|
||||||
|
PowerInit = 400000
|
||||||
|
ValueInit = 50 * 5000
|
||||||
|
)
|
||||||
|
|
||||||
|
var BaseCoins = []int64{5000, 10000, 15000}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
// 推币机活动信息
|
||||||
|
common.Register(int(activity.PushCoinPacketID_PACKET_CSPushCoinInfo), activity.CSPushCoinInfo{}, CSPushCoinInfo)
|
||||||
|
// 推币机玩家操作
|
||||||
|
common.Register(int(activity.PushCoinPacketID_PACKET_CSPushCoinPlayerOp), activity.CSPushCoinPlayerOp{}, CSPushCoinPlayerOp)
|
||||||
|
}
|
||||||
|
|
||||||
|
func CSPushCoinInfo(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||||||
|
_, ok := data.(*activity.CSPushCoinInfo)
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
p := PlayerMgrSington.GetOnlinePlayer(sid)
|
||||||
|
if p == nil {
|
||||||
|
logger.Logger.Warn("CSPushCoinInfo p == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.WelfData == nil {
|
||||||
|
logger.Logger.Warn("CSPushCoinInfo p.WelfData == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.WelfData.PushCoin == nil {
|
||||||
|
p.WelfData.PushCoin = &model.PushCoinData{
|
||||||
|
Power: PowerInit,
|
||||||
|
Base: BaseCoins[0],
|
||||||
|
Value: ValueInit,
|
||||||
|
Exchange: make(map[int32]int32),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pack := &activity.SCPushCoinInfo{
|
||||||
|
ShakeTimes: p.WelfData.PushCoin.Shake,
|
||||||
|
BaseCoin: p.WelfData.PushCoin.Base,
|
||||||
|
PowerLine: p.WelfData.PushCoin.Power,
|
||||||
|
PowerLineMax: PowerMax,
|
||||||
|
RefreshTimes: p.WelfData.PushCoin.Refresh,
|
||||||
|
BetList: BaseCoins,
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range srvdata.PBDB_PropExchangeMgr.Datas.Arr {
|
||||||
|
if v.GetGroup() == 2 {
|
||||||
|
info := &activity.ExchangeInfo{
|
||||||
|
Id: v.GetId(),
|
||||||
|
TotalTimes: int64(v.GetTimes()),
|
||||||
|
}
|
||||||
|
for kk, vv := range v.GetCost() {
|
||||||
|
info.Cost = append(info.Cost, &activity.ItemInfo{
|
||||||
|
ItemId: int32(kk),
|
||||||
|
ItemNum: int32(vv),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
sort.Slice(info.Cost, func(i, j int) bool {
|
||||||
|
return info.Cost[i].ItemId < info.Cost[j].ItemId
|
||||||
|
})
|
||||||
|
for kk, vv := range v.GetGain() {
|
||||||
|
info.Gain = append(info.Gain, &activity.ItemInfo{
|
||||||
|
ItemId: int32(kk),
|
||||||
|
ItemNum: int32(vv),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
sort.Slice(info.Gain, func(i, j int) bool {
|
||||||
|
return info.Gain[i].ItemId < info.Gain[j].ItemId
|
||||||
|
})
|
||||||
|
for kk, vv := range v.GetCustom() {
|
||||||
|
if kk == 1 {
|
||||||
|
info.ShakeTimes = int32(vv)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
info.Times = int64(v.GetTimes() - p.WelfData.PushCoin.Exchange[v.Id])
|
||||||
|
if v.GetTimes() == 0 {
|
||||||
|
info.Times = -1
|
||||||
|
info.TotalTimes = -1
|
||||||
|
}
|
||||||
|
|
||||||
|
pack.ExchangeList = append(pack.ExchangeList, info)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转盘
|
||||||
|
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
||||||
|
for kk, vv := range v.GetGain() {
|
||||||
|
pack.DrawList = append(pack.DrawList, &activity.DrawInfo{
|
||||||
|
Id: v.GetId(),
|
||||||
|
ItemId: int32(kk),
|
||||||
|
ItemNum: int32(vv),
|
||||||
|
Coin: v.GetValue(),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p.SendToClient(int(activity.PushCoinPacketID_PACKET_SCPushCoinInfo), pack)
|
||||||
|
logger.Logger.Trace("SCPushCoinInfo: ", pack)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func CSPushCoinPlayerOp(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||||||
|
logger.Logger.Trace("CSPushCoinPlayerOpHandler Process recv ", data)
|
||||||
|
msg, ok := data.(*activity.CSPushCoinPlayerOp)
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
p := PlayerMgrSington.GetOnlinePlayer(sid)
|
||||||
|
if p == nil {
|
||||||
|
logger.Logger.Warn("CSPushCoinPlayerOp p == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.WelfData == nil {
|
||||||
|
logger.Logger.Warn("CSPushCoinPlayerOp p.WelfData == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.WelfData.PushCoin == nil {
|
||||||
|
logger.Logger.Warn("CSPushCoinPlayerOp p.WelfData.PushCoin == nil")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
pack := &activity.SCPushCoinPlayerOp{
|
||||||
|
OpRetCode: activity.OpResultPushCoinCode_OPRC_PushCoin_Error,
|
||||||
|
OpCode: msg.GetOpCode(),
|
||||||
|
}
|
||||||
|
|
||||||
|
switch msg.GetOpCode() {
|
||||||
|
case activity.OpCodes_OP_Bet:
|
||||||
|
if p.GetCoin() < msg.GetOpParam() {
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
p.AddCoin(-msg.GetOpParam(), common.GainWayPushCoinCost, base.SyncFlag_ToClient, "system", "推币机下注")
|
||||||
|
// 增加能量条
|
||||||
|
AddPower(p, msg.GetOpParam())
|
||||||
|
|
||||||
|
case activity.OpCodes_OP_Gain:
|
||||||
|
// todo校验
|
||||||
|
|
||||||
|
for _, v := range msg.GetOpItem() {
|
||||||
|
BagMgrSingleton.AddItems(&model.AddItemParam{
|
||||||
|
Platform: p.Platform,
|
||||||
|
SnId: p.SnId,
|
||||||
|
Change: []*model.Item{{ItemId: v.GetItemId(), ItemNum: int64(v.GetItemNum())}},
|
||||||
|
GainWay: common.GainWayPushCoinGain,
|
||||||
|
Operator: "system",
|
||||||
|
Remark: "推币机掉落获得",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
case activity.OpCodes_OP_Shake:
|
||||||
|
if p.WelfData.PushCoin.Shake < int32(msg.GetOpParam()) {
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
p.WelfData.PushCoin.Shake -= int32(msg.GetOpParam())
|
||||||
|
|
||||||
|
case activity.OpCodes_OP_Refresh:
|
||||||
|
p.WelfData.PushCoin.Refresh++
|
||||||
|
p.WelfData.PushCoin.Value = ValueInit
|
||||||
|
|
||||||
|
case activity.OpCodes_OP_Exchange:
|
||||||
|
d := srvdata.PBDB_PropExchangeMgr.GetData(int32(msg.GetOpParam()))
|
||||||
|
if d == nil {
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
// 兑换次数
|
||||||
|
if d.GetTimes() > 0 && p.WelfData.PushCoin.Exchange[d.Id] >= d.GetTimes() {
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
|
||||||
|
pack.Exchange = &activity.ExchangeInfo{
|
||||||
|
Id: d.Id,
|
||||||
|
}
|
||||||
|
var cost, gain []*model.Item
|
||||||
|
for k, v := range d.GetCost() {
|
||||||
|
pack.Exchange.Cost = append(pack.Exchange.Cost, &activity.ItemInfo{
|
||||||
|
ItemId: int32(k),
|
||||||
|
ItemNum: int32(v),
|
||||||
|
})
|
||||||
|
if k == 10001 && p.GetCoin() < v {
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
cost = append(cost, &model.Item{
|
||||||
|
ItemId: int32(k),
|
||||||
|
ItemNum: -v,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _, ok := BagMgrSingleton.AddItems(&model.AddItemParam{
|
||||||
|
Platform: p.Platform,
|
||||||
|
SnId: p.SnId,
|
||||||
|
Change: cost,
|
||||||
|
Add: 0,
|
||||||
|
GainWay: common.GainWayPushCoinExchangeCost,
|
||||||
|
Operator: "system",
|
||||||
|
Remark: "推币机活动兑换消耗",
|
||||||
|
})
|
||||||
|
if !ok {
|
||||||
|
goto here
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v := range d.GetGain() {
|
||||||
|
pack.Exchange.Gain = append(pack.Exchange.Gain, &activity.ItemInfo{
|
||||||
|
ItemId: int32(k),
|
||||||
|
ItemNum: int32(v),
|
||||||
|
})
|
||||||
|
gain = append(gain, &model.Item{
|
||||||
|
ItemId: int32(k),
|
||||||
|
ItemNum: v,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
BagMgrSingleton.AddItems(&model.AddItemParam{
|
||||||
|
Platform: p.Platform,
|
||||||
|
SnId: p.SnId,
|
||||||
|
Change: gain,
|
||||||
|
Cost: cost,
|
||||||
|
Add: 0,
|
||||||
|
GainWay: common.GainWatPushCoinExchangeGain,
|
||||||
|
Operator: "system",
|
||||||
|
Remark: "推币机活动兑换获得",
|
||||||
|
})
|
||||||
|
for k, v := range d.GetCustom() {
|
||||||
|
if k == 1 {
|
||||||
|
pack.Exchange.ShakeTimes = int32(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.WelfData.PushCoin.Exchange == nil {
|
||||||
|
p.WelfData.PushCoin.Exchange = make(map[int32]int32)
|
||||||
|
}
|
||||||
|
p.WelfData.PushCoin.Exchange[d.Id]++
|
||||||
|
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
pack.OpRetCode = activity.OpResultPushCoinCode_OPRC_PushCoin_Success
|
||||||
|
|
||||||
|
here:
|
||||||
|
p.SendToClient(int(pushcoin.PushCoinPacketID_PACKET_SCPushCoinPlayerOp), pack)
|
||||||
|
logger.Logger.Trace("SCPushCoinPlayerOp: ", pack)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func AddPower(p *Player, value int64) {
|
||||||
|
if value < 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
p.WelfData.PushCoin.Power += value
|
||||||
|
if p.WelfData.PushCoin.Power > PowerMax {
|
||||||
|
p.WelfData.PushCoin.Power = PowerMax
|
||||||
|
}
|
||||||
|
p.SendToClient(int(activity.PushCoinPacketID_PACKET_NotifyPowerLine), &activity.NotifyPowerLine{
|
||||||
|
PowerLine: p.WelfData.PushCoin.Power,
|
||||||
|
PowerLineMax: PowerMax,
|
||||||
|
})
|
||||||
|
if value <= 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 抽奖
|
||||||
|
Draw(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Draw(p *Player) {
|
||||||
|
if p.WelfData.PushCoin.Power < PowerMax {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
p.WelfData.PushCoin.Power = 0
|
||||||
|
var index int32 = -1
|
||||||
|
switch p.WelfData.PushCoin.Dram {
|
||||||
|
case 0:
|
||||||
|
// 必中大金币
|
||||||
|
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
||||||
|
for kk := range v.GetGain() {
|
||||||
|
if kk == common.ItemIDBigCoin {
|
||||||
|
index = v.GetId()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
// 必中v卡
|
||||||
|
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
||||||
|
for kk := range v.GetGain() {
|
||||||
|
if kk == common.ItemIDVCard {
|
||||||
|
index = v.GetId()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
var n int32
|
||||||
|
rand := common.RandInt(10000)
|
||||||
|
for _, v := range srvdata.PBDB_ACTPushCoinMgr.Datas.Arr {
|
||||||
|
if rand < int(n+v.GetRate()) {
|
||||||
|
index = v.GetId()
|
||||||
|
break
|
||||||
|
}
|
||||||
|
n += v.GetRate()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
p.WelfData.PushCoin.Dram++
|
||||||
|
|
||||||
|
if index >= 0 {
|
||||||
|
d := srvdata.PBDB_ACTPushCoinMgr.GetData(index)
|
||||||
|
if d != nil {
|
||||||
|
pack := &activity.DrawInfo{
|
||||||
|
Id: d.GetId(),
|
||||||
|
Coin: d.GetValue(),
|
||||||
|
}
|
||||||
|
for k, v := range d.GetGain() {
|
||||||
|
pack.ItemId = int32(k)
|
||||||
|
pack.ItemNum = int32(v)
|
||||||
|
}
|
||||||
|
if pack.Coin > 0 || pack.ItemId > 0 {
|
||||||
|
p.SendToClient(int(activity.PushCoinPacketID_PACKET_NotifyDrawInfo), pack)
|
||||||
|
// 增加能量条
|
||||||
|
AddPower(p, d.GetValue())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -117,6 +117,8 @@ func init() {
|
||||||
etcd.Register(etcd.KeyRedPacket, webapi.RedPacketConfig{}, platformConfigEvent)
|
etcd.Register(etcd.KeyRedPacket, webapi.RedPacketConfig{}, platformConfigEvent)
|
||||||
// 累计消耗活动配置
|
// 累计消耗活动配置
|
||||||
etcd.Register(etcd.KeyActConsume, webapi.ConsumeConfig{}, platformConfigEvent)
|
etcd.Register(etcd.KeyActConsume, webapi.ConsumeConfig{}, platformConfigEvent)
|
||||||
|
// 推金币活动配置
|
||||||
|
etcd.Register(etcd.KeyActPushCoin, webapi.PushCoinConfig{}, platformConfigEvent)
|
||||||
}
|
}
|
||||||
|
|
||||||
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||||
|
@ -370,6 +372,8 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
|
||||||
WelfareMgrSington.UpdateRedPacket(config, isInit)
|
WelfareMgrSington.UpdateRedPacket(config, isInit)
|
||||||
case *webapi.ConsumeConfig:
|
case *webapi.ConsumeConfig:
|
||||||
WelfareMgrSington.UpdateConsumeConfig(config)
|
WelfareMgrSington.UpdateConsumeConfig(config)
|
||||||
|
case *webapi.PushCoinConfig:
|
||||||
|
WelfareMgrSington.UpdatePushCoinConfig(config)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
||||||
|
|
|
@ -930,6 +930,7 @@ func (this *WelfareMgr) GetAddUp2Award(p *Player, day int32) {
|
||||||
// WelfareSwitch 通知活动开关状态
|
// WelfareSwitch 通知活动开关状态
|
||||||
func (this *WelfareMgr) WelfareSwitch(p *Player, platform string, op int) {
|
func (this *WelfareMgr) WelfareSwitch(p *Player, platform string, op int) {
|
||||||
pack := &player_proto.SCEasyWelfaredInfo{}
|
pack := &player_proto.SCEasyWelfaredInfo{}
|
||||||
|
now := time.Now()
|
||||||
// 0转盘1盲盒2首冲3连续充值
|
// 0转盘1盲盒2首冲3连续充值
|
||||||
info := this.GetConfig(platform)
|
info := this.GetConfig(platform)
|
||||||
|
|
||||||
|
@ -1020,11 +1021,18 @@ func (this *WelfareMgr) WelfareSwitch(p *Player, platform string, op int) {
|
||||||
}
|
}
|
||||||
// 累消活动
|
// 累消活动
|
||||||
consumeConfig := info.ConsumeConfig
|
consumeConfig := info.ConsumeConfig
|
||||||
if consumeConfig != nil {
|
if consumeConfig != nil && now.Unix() >= common.StrTimeToTs(consumeConfig.StartTime) && now.Unix() < common.StrTimeToTs(consumeConfig.EndTime) {
|
||||||
pack.WelfareSwitch = append(pack.WelfareSwitch, consumeConfig.On) //累消活动开关
|
pack.WelfareSwitch = append(pack.WelfareSwitch, consumeConfig.On) //累消活动开关
|
||||||
} else {
|
} else {
|
||||||
pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose)
|
pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose)
|
||||||
}
|
}
|
||||||
|
// 推币机活动
|
||||||
|
coinConfig := info.PushCoinConfig
|
||||||
|
if coinConfig != nil && now.Unix() >= common.StrTimeToTs(coinConfig.StartTime) && now.Unix() < common.StrTimeToTs(coinConfig.EndTime) {
|
||||||
|
pack.WelfareSwitch = append(pack.WelfareSwitch, coinConfig.On) //推币机活动开关
|
||||||
|
} else {
|
||||||
|
pack.WelfareSwitch = append(pack.WelfareSwitch, model.WelfareClose)
|
||||||
|
}
|
||||||
|
|
||||||
if model.GameParamData.TestActSwitch {
|
if model.GameParamData.TestActSwitch {
|
||||||
for k := range pack.WelfareSwitch {
|
for k := range pack.WelfareSwitch {
|
||||||
|
@ -2488,6 +2496,23 @@ func (this *WelfareMgr) UpdateConsumeConfig(conf *webapi_proto.ConsumeConfig) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (this *WelfareMgr) UpdatePushCoinConfig(conf *webapi_proto.PushCoinConfig) {
|
||||||
|
if model.GameParamData.TestActSwitch {
|
||||||
|
conf.On = model.WelfareOpen
|
||||||
|
}
|
||||||
|
s := int32(0)
|
||||||
|
info := this.GetConfig(conf.Platform)
|
||||||
|
if info.PushCoinConfig != nil {
|
||||||
|
s = info.PushCoinConfig.On
|
||||||
|
}
|
||||||
|
this.GetConfig(conf.Platform).PushCoinConfig = conf
|
||||||
|
//更新活动时间
|
||||||
|
// 打开关闭要广播给客户端
|
||||||
|
if s != 0 && s != conf.On {
|
||||||
|
this.WelfareSwitch(nil, conf.Platform, model.OpPushCoin)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (this *WelfareMgr) Update() {
|
func (this *WelfareMgr) Update() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue