public static void SendConfirmation(GameConfirmation confirmation)
        {
            byte[] buffer = confirmation.ToBytes();
            NetworkTransport.Send(hostId, connectionId, channelConfirmationId, buffer, buffer.Length, out error);

            if (error != (byte)NetworkError.Ok) {
                Debug.LogError("[ERROR] NetworkAPI :: SendConfirmation :: Send : " + error);
            }
        }
        void OnConfirmation(int playerID, GameConfirmation confirmation)
        {
            if (confirmation.LockstepTurn < lockstepTurn) { // Discard
                return;
            }

            if (confirmation.LockstepTurn > lockstepTurn + 2) {
                Debug.LogError("Lockstep : Confirmation from player " + playerID + " on impossible turn (> 2)");
                return;
            }

            uint turn = confirmation.LockstepTurn - lockstepTurn;

            NetworkUI.Log("Receive confirmation from player " + playerID + " for turn " + turn);

            if (confirmation.Wait) {
                NetworkUI.Log("Player " + playerID + " want me to wait, i'm too overhead !");
                wait[turn][playerID] = WaitingTime;
                return;
            }

            if (!playerHaveConfirmedMyAction[turn][playerID]) {
                playerHaveConfirmedMyAction[turn][playerID] = true;
                ++numberOfPlayerWhoConfirmedMyAction[turn];
            } else {
                NetworkUI.Log("Confirmation allready received for LockstepTurn " + confirmation.LockstepTurn);
            }
        }