diff --git a/gamesrv/tienlen/scenedata_tienlen.go b/gamesrv/tienlen/scenedata_tienlen.go index 5ca6e11..f242ee5 100644 --- a/gamesrv/tienlen/scenedata_tienlen.go +++ b/gamesrv/tienlen/scenedata_tienlen.go @@ -73,6 +73,7 @@ type TienLenSceneData struct { RoundLogId []string // 每局牌局记录id CustomLogSave bool // 是否已经保存日志 PlayerAward map[int32]*[]*model.Item // 房卡场最终奖励 + bill *tienlen.SCTienLenGameBilled } func NewTienLenSceneData(s *base.Scene) *TienLenSceneData { diff --git a/gamesrv/tienlen/scenepolicy_tienlen.go b/gamesrv/tienlen/scenepolicy_tienlen.go index 0ebfebf..4161a68 100644 --- a/gamesrv/tienlen/scenepolicy_tienlen.go +++ b/gamesrv/tienlen/scenepolicy_tienlen.go @@ -2623,6 +2623,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { proto.SetDefaults(pack) s.Broadcast(int(tienlen.TienLenPacketID_PACKET_SCTienLenGameBilled), pack, 0) logger.Logger.Trace("TienLenPacketID_PACKET_SCTienLenGameBilled gameFreeId:", sceneEx.GetGameFreeId(), ";pack:", pack) + sceneEx.bill = pack if sceneEx.IsCustom() && sceneEx.TotalOfGames > 0 { for _, v := range tienlenType.PlayerData { @@ -2932,6 +2933,16 @@ func (this *SceneBilledStateTienLen) OnPlayerOp(s *base.Scene, p *base.Player, o // 玩家事件 func (this *SceneBilledStateTienLen) OnPlayerEvent(s *base.Scene, p *base.Player, evtcode int, params []int64) { this.SceneBaseStateTienLen.OnPlayerEvent(s, p, evtcode, params) + sceneEx, ok := s.GetExtraData().(*TienLenSceneData) + if !ok { + return + } + switch evtcode { + case base.PlayerEventRehold: + if sceneEx.bill != nil && sceneEx.IsRankMatch() { + p.SendToClient(int(tienlen.TienLenPacketID_PACKET_SCTienLenGameBilled), sceneEx.bill) + } + } } func (this *SceneBilledStateTienLen) OnTick(s *base.Scene) {