コード例 #1
0
    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);
        }
    }
コード例 #2
0
ファイル: GameServer.cs プロジェクト: wyuurla/006772
    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;
    }
コード例 #3
0
ファイル: Packet.cs プロジェクト: wyuurla/006772
        //
        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);
        }
コード例 #4
0
ファイル: Packet.cs プロジェクト: wyuurla/006772
        //
        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);
        }
コード例 #5
0
ファイル: Packet.cs プロジェクト: wyuurla/006772
        //
        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);
        }
コード例 #6
0
ファイル: GameServer.cs プロジェクト: fotoco/006772
	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;
	}