void Update()
    {
        if (StartClient)
        {
            client = new ClientMVP(ip, port, userId);
            t      = new Thread(new ThreadStart(client.Run));
            t.Start();
            StartClient = false;
        }
        if (StopClient)
        {
            client.stopRunning = true;
            StopClient         = false;
        }

        if (StopThread)
        {
            t.Abort();
            StopThread = false;
        }

        if (SendPosition)
        {
            client.SendPosition(toBeSentPosition, Vector3.zero);
            SendPosition = false;
        }
    }
    void Update()
    {
        if (StartClient)
        {
            client = new ClientMVP(ip, port, userId);
            t      = new Thread(new ThreadStart(client.Run));
            t.Start();

            client.OnReceivePlayerPositionData    += playerHandler.OnReceivePositionFromPlayer;
            client.OnReceiveAnimationPlayerUpdate += playerHandler.OnReceiveAnimation;
            client.OnReceivePlayerCollision       += playerHandler.OnReceiveCollision;
            client.OnReceiveDeletePlayer          += playerHandler.OnDeletePlayer;
            client.OnReceiveRedZone += playerHandler.OnReceiveRedZone;
            playerHandler.client     = this;

            client.OnConnectedToServer += RequestForServerData;

            StartClient = false;
        }
        if (StopClient)
        {
            client.stopRunning = true;
            StopClient         = false;
        }

        if (StopThread)
        {
            t.Abort();
            StopThread = false;
        }

        if (startClientQueue)
        {
            startClientQueue = false;
            OnStartedClient.Invoke();
        }
    }