package main // //import ( // "math/rand" // // "mongo.games.com/game/common" // "mongo.games.com/game/proto" // "mongo.games.com/game/protocol/mngame" // server_proto "mongo.games.com/game/protocol/server" // "mongo.games.com/goserver/core/logger" // "mongo.games.com/goserver/srvlib" // srvlibproto "mongo.games.com/goserver/srvlib/protocol" //) // //func (s *Scene) PlayerEnterMiniGame(p *Player) bool { // s.players[p.SnId] = p // s.gameSess.AddPlayer(p) // takeCoin := p.Coin // leaveCoin := int64(0) // gameTimes := rand.Int31n(100) // if p.IsRob { // takerng := s.dbGameFree.GetRobotTakeCoin() // if len(takerng) >= 2 && takerng[1] > takerng[0] { // if takerng[0] < s.dbGameFree.GetLimitCoin() { // takerng[0] = s.dbGameFree.GetLimitCoin() // } // takeCoin = int64(common.RandInt(int(takerng[0]), int(takerng[1]))) // } else { // maxlimit := int64(s.dbGameFree.GetMaxCoinLimit()) // if maxlimit != 0 && p.Coin > maxlimit { // logger.Logger.Trace("Player coin:", p.Coin) // //在下限和上限之间随机,并对其的100的整数倍 // takeCoin = int64(common.RandInt(int(s.dbGameFree.GetLimitCoin()), int(maxlimit))) // logger.Logger.Trace("Take coin:", takeCoin) // } // } // takeCoin = takeCoin / 100 * 100 // //离场金币 // leaverng := s.dbGameFree.GetRobotLimitCoin() // if len(leaverng) >= 2 { // leaveCoin = int64(leaverng[0] + rand.Int31n(leaverng[1]-leaverng[0])) // } // // if takeCoin > p.Coin { // takeCoin = p.Coin // } // } // // if p.IsRob { // s.robotNum++ // p.RobotRandName() // p.RobRandVipWhenEnterRoom(takeCoin) // name := s.GetSceneName() // logger.Logger.Tracef("(this *Scene) PlayerEnter(%v) robot(%v) robotlimit(%v)", name, s.robotNum, s.robotLimit) // } // // data, err := p.MarshalData(s.gameId) // if err == nil { // var gateSid int64 // if p.gateSess != nil { // if srvInfo, ok := p.gateSess.GetAttribute(srvlib.SessionAttributeServerInfo).(*srvlibproto.SSSrvRegiste); ok && srvInfo != nil { // sessionId := srvlib.NewSessionIdEx(srvInfo.GetAreaId(), srvInfo.GetType(), srvInfo.GetId(), 0) // gateSid = sessionId.Get() // } // } // isQuMin := false // //if !p.IsRob { // // pt := PlatformMgrSingleton.GetPackageTag(p.PackageID) // // if pt != nil && pt.SpreadTag == 1 { // // isQuMin = true // // } // //} // p.miniScene[s.dbGameFree.Id] = s // msg := &server_proto.WGPlayerEnterMiniGame{ // Sid: proto.Int64(p.sid), // SnId: proto.Int32(p.SnId), // GateSid: proto.Int64(gateSid), // SceneId: proto.Int(s.sceneId), // PlayerData: data, // IsQM: proto.Bool(isQuMin), // } // sa, err2 := p.MarshalSingleAdjustData(s.dbGameFree.Id) // if err2 == nil && sa != nil { // msg.SingleAdjust = sa // } // msg.TakeCoin = proto.Int64(takeCoin) // msg.ExpectLeaveCoin = proto.Int64(leaveCoin) // msg.ExpectGameTimes = proto.Int32(gameTimes) // proto.SetDefaults(msg) // s.SendToGame(int(server_proto.SSPacketID_PACKET_WG_PLAYERENTER_MINIGAME), msg) // } // return true //} // //func (s *Scene) PlayerLeaveMiniGame(p *Player) bool { // var gateSid int64 // if p.gateSess != nil { // if srvInfo, ok := p.gateSess.GetAttribute(srvlib.SessionAttributeServerInfo).(*srvlibproto.SSSrvRegiste); ok && srvInfo != nil { // sessionId := srvlib.NewSessionIdEx(srvInfo.GetAreaId(), srvInfo.GetType(), srvInfo.GetId(), 0) // gateSid = sessionId.Get() // } // } // // delete(p.miniScene, s.dbGameFree.Id) // // msg := &server_proto.WGPlayerLeaveMiniGame{ // Sid: proto.Int64(p.sid), // SnId: proto.Int32(p.SnId), // GateSid: proto.Int64(gateSid), // SceneId: proto.Int(s.sceneId), // } // proto.SetDefaults(msg) // s.SendToGame(int(server_proto.SSPacketID_PACKET_WG_PLAYERLEAVE_MINIGAME), msg) // // delete(s.players, p.SnId) // return true //} // //func (s *Scene) RedirectMiniGameMsg(p *Player, msg *mngame.CSMNGameDispatcher) bool { // msg.Id = int32(s.sceneId) //换成真实房间id // msg.SnId = p.SnId // s.SendToGame(int(mngame.MNGamePacketID_PACKET_CS_MNGAME_DISPATCHER), msg) // return true //}