Compare commits

..

3 Commits

Author SHA1 Message Date
kxdd 979645567e 合并代码 2024-09-06 10:08:29 +08:00
kxdd b74f284654 Merge branch 'ma' into develop
# Conflicts:
#	gamesrv/clawdoll/scenepolicy_clawdoll.go
2024-09-06 10:08:05 +08:00
kxdd 8f59f4d03a 娃娃机抓取后结果通知修改 2024-09-06 09:41:41 +08:00
4 changed files with 49 additions and 5 deletions

View File

@ -71,3 +71,7 @@ const (
Zego_ForbidRTCStream = iota + 1 Zego_ForbidRTCStream = iota + 1
Zego_ResumeRTCStream = iota + 1 Zego_ResumeRTCStream = iota + 1
) )
const (
ClawDoorItemID = 40003
)

View File

@ -2,6 +2,7 @@ package clawdoll
import ( import (
"mongo.games.com/game/common" "mongo.games.com/game/common"
rule "mongo.games.com/game/gamerule/clawdoll"
"mongo.games.com/game/gamesrv/base" "mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/protocol/clawdoll" "mongo.games.com/game/protocol/clawdoll"
"mongo.games.com/game/protocol/machine" "mongo.games.com/game/protocol/machine"
@ -52,10 +53,20 @@ func (h *CSPlayerOpHandler) Process(s *netlib.Session, packetid int, data interf
func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data interface{}) error { func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data interface{}) error {
logger.Logger.Tracef("收到返回上分结果!!!!!!!!!!") logger.Logger.Tracef("收到返回上分结果!!!!!!!!!!")
if msg, ok := data.(*machine.MSDollMachineoPerateResult); ok { if msg, ok := data.(*machine.MSDollMachineoPerateResult); ok {
p := base.PlayerMgrSington.GetPlayerBySnId(msg.GetSnid()) p := base.PlayerMgrSington.GetPlayerBySnId(msg.GetSnid())
if p == nil { if p == nil {
logger.Logger.Warn("CSGetTokenHandler p == nil") logger.Logger.Warn("MSDollMachineoCoinResultHandler p == nil")
return nil
}
s := p.GetScene()
if s == nil {
logger.Logger.Warn("MSDollMachineoCoinResultHandler p.scene == nil")
return nil
}
sceneEx, ok := s.ExtraData.(*SceneEx)
if !ok {
return nil return nil
} }
@ -68,10 +79,17 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data
} }
case 2: case 2:
if msg.Result == 1 { if msg.Result == 1 {
// 获得娃娃卡
logger.Logger.Tracef("下抓成功snid = ", msg.Snid)
} else { } else {
logger.Logger.Tracef("下抓失败snid = ", msg.Snid) logger.Logger.Tracef("下抓失败snid = ", msg.Snid)
} }
s.ChangeSceneState(rule.ClawDollSceneStateBilled)
sceneEx.SetPlayingState(int32(rule.ClawDollSceneStateBilled))
ClawdollBroadcastRoomState(s)
ClawdollSendPlayerInfo(s)
} }
} }
return nil return nil

View File

@ -1,7 +1,9 @@
package clawdoll package clawdoll
import ( import (
rule "mongo.games.com/game/gamerule/clawdoll"
"mongo.games.com/game/gamesrv/base" "mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/srvdata"
"mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/logger"
) )
@ -37,11 +39,18 @@ func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool {
// 能否投币 // 能否投币
func (this *PlayerEx) CanPayCoin() bool { func (this *PlayerEx) CanPayCoin() bool {
itemID := int32(rule.ClawDoorItemID)
itemData := srvdata.GameItemMgr.Get(this.Platform, itemID)
if itemData == nil {
return false
}
return true return true
} }
// 投币消耗 // 投币消耗
func (this *PlayerEx) CostPlayCoin() bool { func (this *PlayerEx) CostPlayCoin(count int32) bool {
return true return true
} }
@ -106,3 +115,16 @@ func (this *PlayerEx) GetClawState() int32 {
func (this *PlayerEx) SetClawState(state int32) { func (this *PlayerEx) SetClawState(state int32) {
this.clawDollState = state this.clawDollState = state
} }
func (this *PlayerEx) GetItemCount(itemID int32) int64 {
itemData := srvdata.GameItemMgr.Get(this.Platform, itemID)
if itemData != nil {
v, ok := this.Items[itemID]
if ok {
return v
} else {
return 0
}
}
return 0
}

View File

@ -700,7 +700,7 @@ func (this *PlayGame) OnTick(s *base.Scene) {
if time.Now().Sub(sceneEx.StateStartTime) > rule.ClawDollScenePlayTimeout { if time.Now().Sub(sceneEx.StateStartTime) > rule.ClawDollScenePlayTimeout {
if sceneEx.TimeOutPlayGrab() { if sceneEx.TimeOutPlayGrab() {
//logger.Logger.Trace("PlayGame OnTick TimeOutPlayGrab SnId", sceneEx.playingSnid, " machineId:", sceneEx.machineId) logger.Logger.Trace("PlayGame OnTick TimeOutPlayGrab SnId", sceneEx.playingSnid, " machineId:", sceneEx.machineId)
} }
s.ChangeSceneState(rule.ClawDollSceneStateBilled) s.ChangeSceneState(rule.ClawDollSceneStateBilled)