public void OnReceivePrizeResultPacket(int node, PacketId id, byte[] data) { PrizeResultPacket packet = new PrizeResultPacket(data); PrizeResultData result = packet.GetPacket(); Debug.Log("[CLIENT] ReceivePrizeResultPacket"); for (int i = 0; i < result.cakeDataNum; ++i) { this.cake_counts[i] = result.cakeNum[i]; Debug.Log("[CLIENT] Cake num[" + i + "]:" + result.cakeNum[i]); } chrBehaviorLocal local_player = PartyControl.get().getLocalPlayer(); QueryCakeCount query = QueryManager.get().findQuery <QueryCakeCount>(x => x.account_id == local_player.getAcountID()); if (query != null) { Debug.Log("[CLIENT]QueryCakeCount done"); query.set_done(true); query.set_success(true); } }
private void checkReceivePrizePacket() { if (isRecvPrize == false) { return; } for (int i = 0; i < NetConfig.PLAYER_MAX; ++i) { int node = network_.GetClientNode(i); if (network_.IsConnected(node) && prizeNum[i] < 0) { // 아직 모이지 않았다. return; } } PrizeResultData data = new PrizeResultData(); // 각 클라이언트에 획득 결과 알림. data.cakeDataNum = NetConfig.PLAYER_MAX; data.cakeNum = new int[NetConfig.PLAYER_MAX]; for (int i = 0; i < data.cakeDataNum; ++i) { data.cakeNum[i] = prizeNum[i]; } PrizeResultPacket packet = new PrizeResultPacket(data); network_.SendReliableToAll(packet); isRecvPrize = false; }
// public bool Serialize(PrizeResultData packet) { bool ret = true; // 케이크 데이터의 수. ret &= Serialize(packet.cakeDataNum); // 케이크 수. for (int i = 0; i < 4; ++i) { ret &= Serialize(packet.cakeNum[i]); } return(ret); }
// public bool Deserialize(ref PrizeResultData element) { if (GetDataSize() == 0) { // 데이터가 설정되어 있지 않습니다. return(false); } bool ret = true; // 케이크 데이터의 수. ret &= Deserialize(ref element.cakeDataNum); // 케이크 수. for (int i = 0; i < 4; ++i) { ret &= Deserialize(ref element.cakeNum[i]); } return(ret); }
// public bool Deserialize(ref PrizeResultData element) { if (GetDataSize() == 0) { // 데이터가 설정되지 않았다. return(false); } bool ret = true; // 케이크 데이터 수. ret &= Deserialize(ref element.cakeDataNum); // 케이크 수. element.cakeNum = new int[element.cakeDataNum]; for (int i = 0; i < element.cakeDataNum; ++i) { ret &= Deserialize(ref element.cakeNum[i]); } return(ret); }
private void checkReceivePrizePacket() { if (isRecvPrize == false) { return; } for (int i = 0; i < NetConfig.PLAYER_MAX; ++i) { int node = network_.GetClientNode(i); if (network_.IsConnected(node) && prizeNum[i] < 0) { // 아직 모이지 않았다. return; } } PrizeResultData data = new PrizeResultData (); // 각 클라이언트에 획득 결과 알림. data.cakeDataNum = NetConfig.PLAYER_MAX; data.cakeNum = new int[NetConfig.PLAYER_MAX]; for (int i = 0; i < data.cakeDataNum; ++i) { data.cakeNum[i] = prizeNum[i]; } PrizeResultPacket packet = new PrizeResultPacket(data); network_.SendReliableToAll(packet); isRecvPrize = false; }