void OnLeaveRoom(Com.Nhn.Gameanvil.Sample.Protocol.EndType gameEndType) { // ===========================================================================================>>> GameAnvil // 게임룸 나가는 요청 snakeGameUser.LeaveRoom((UserAgent userAgent, ResultCodeLeaveRoom result, bool force, int roomId, Payload payload) => { Debug.Log("LeaveRoom " + result); if (result == ResultCodeLeaveRoom.LEAVE_ROOM_SUCCESS) { if (payload.Contains <Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes>()) { Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes endGameRes = Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes.Parser.ParseFrom(payload.GetPacket <Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes>().GetBytes()); UserInfo.Instance.Heart = endGameRes.UserData.Heart; UserInfo.Instance.TotalScore = endGameRes.TotalScore; Debug.Log("GameResult " + UserInfo.Instance.TotalScore); } // 로비신으로 이동 RemoveAllListeners(); UserInfo.Instance.MoveScene(Constants.SCENE_GAME_LOBBY); } else { // 실패시 처리 } }); // ===========================================================================================>>> GameAnvil }
void OnLeaveRoom(Com.Nhn.Gameanvil.Sample.Protocol.EndType gameEndType) { // 게임종료 프로토콜 정의 var endGameReq = new Com.Nhn.Gameanvil.Sample.Protocol.EndGameReq { EndType = gameEndType }; // ===========================================================================================>>> GameAnvil // 게임룸 나가는 요청 tapBirdUser.LeaveRoom(new Payload().Add(new Packet(endGameReq)), (UserAgent userAgent, ResultCodeLeaveRoom result, bool force, int roomId, Payload payload) => { Debug.Log("LeaveRoom " + result); if (result == ResultCodeLeaveRoom.LEAVE_ROOM_SUCCESS) { if (payload.Contains <Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes>()) { Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes endGameRes = Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes.Parser.ParseFrom(payload.GetPacket <Com.Nhn.Gameanvil.Sample.Protocol.EndGameRes>().GetBytes()); UserInfo.Instance.Heart = endGameRes.UserData.Heart; UserInfo.Instance.TotalScore = endGameRes.TotalScore; UserInfo.Instance.Coin = endGameRes.UserData.Coin; UserInfo.Instance.CurrentDeck = endGameRes.UserData.CurrentDeck; UserInfo.Instance.Exp = endGameRes.UserData.Exp; UserInfo.Instance.HighScore = endGameRes.UserData.HighScore; UserInfo.Instance.Level = endGameRes.UserData.Level; UserInfo.Instance.Nickname = endGameRes.UserData.Nickname; UserInfo.Instance.Ruby = endGameRes.UserData.Ruby; Debug.Log("GameResult " + endGameRes); } // 로비신으로 이동 RemoveAllListeners(); UserInfo.Instance.MoveScene(Constants.SCENE_LOBBY); } else { // 실패시 처리 } }); // ===========================================================================================>>> GameAnvil }