//开始游戏 public void StartGame(Actor_JoyLds_StartGame joyLdsPlayerInfos) { ResetData(); //重置数据 mCurrGameRoomState = JoyLdsGameState.BeingPlayCards; //当前房间的游戏状态 UIComponent.GetUiView <JoyLandlordsRoomPanelComponent>().MathSucceed(); //匹配成功 long selfUserId = Game.Scene.GetComponent <UserComponent>().pUserId; //创建用户角色 for (int i = 0; i < joyLdsPlayerInfos.PlayerInfos.Count; i++) { if (joyLdsPlayerInfos.PlayerInfos[i].User.UserId == selfUserId) { _joyLdsUserPlayer = UIComponent.GetUiView <JoyLandlordsRoomPanelComponent>().ShowUserPlayerInfo(joyLdsPlayerInfos.PlayerInfos[i].SeatIndex); pCurrUserPlayerIndex = joyLdsPlayerInfos.PlayerInfos[i].SeatIndex; mRoomPlayerDic[i] = _joyLdsUserPlayer; } } //创建其他玩家 for (int i = 0; i < joyLdsPlayerInfos.PlayerInfos.Count; i++) { if (joyLdsPlayerInfos.PlayerInfos[i].User.UserId != selfUserId) { JoyLdsBasePlayer joyLdsBasePlayer = UIComponent.GetUiView <JoyLandlordsRoomPanelComponent>().ShowOtherPlayer(joyLdsPlayerInfos.PlayerInfos[i].User, joyLdsPlayerInfos.PlayerInfos[i].SeatIndex); mRoomPlayerDic[i] = joyLdsBasePlayer; } } }
//开始游戏 public static void StartGame(this JoyLdsRoom joyLdsRoom) { joyLdsRoom.Reset();//每次开始游戏前清空一下数据 Actor_JoyLds_StartGame actorJoyLdsStartGame = new Actor_JoyLds_StartGame(); actorJoyLdsStartGame.PlayerInfos.Clear(); foreach (var player in joyLdsRoom.pJoyLdsPlayerDic.Values) { JoyLds_PlayerInfo joyLdsPlayer = new JoyLds_PlayerInfo(); joyLdsPlayer.User = player.pUser; joyLdsPlayer.SeatIndex = player.pSeatIndex; actorJoyLdsStartGame.PlayerInfos.Add(joyLdsPlayer); } foreach (var player in joyLdsRoom.pJoyLdsPlayerDic.Values) { player.StartGame(actorJoyLdsStartGame); } joyLdsRoom.Deal();//发了开始游戏的消息发 发牌消息 joyLdsRoom.CurrRoomStateType = JoyLdsRoomStateType.GameIn; }
//开始游戏 public static void StartGame(this JoyLdsPlayer joyLdsPlayer, Actor_JoyLds_StartGame actorJoyLdsStartGame) { // joyLdsPlayer.SendUserGateMessage( // new S2G_UserStartGame() {UserId = joyLdsPlayer.pUser.UserId, SessionActorId = joyLdsPlayer.Id});//通知用户所在的网关服开始游戏 joyLdsPlayer.SendMessageUser(actorJoyLdsStartGame);//通知客户端开始游戏 }