private Task TankAngleChanged(float angle, string playerId)
        {
            if (debug)
            {
                Console.WriteLine($"OBSERVER: NetworkManagerClient TankAngleChanged");
            }
            RotateEventArgs args = new RotateEventArgs {
                Angle = angle, ConnID = playerId
            };

            BarrelRotate(this, args);

            return(Task.CompletedTask);
        }
        /// <summary>
        /// Async method with listeners
        /// </summary>
        public async void connect()
        {
            _connection.On <string>("Connected",
                                    (connectionid) =>
            {
                Console.WriteLine(connectionid);
            });
            _connection.On <string>("Disconnected",
                                    (value) =>
            {
                Console.WriteLine("Player " + value + " disconnected");
            });
            //Gets connected player list
            _connection.On <string>("Players",
                                    (value) =>
            {
                Console.WriteLine(value);
                Players = JsonConvert.DeserializeObject <Player[]>(value);
                OnPlayersGot(EventArgs.Empty);
            });
            _connection.On <string>("GameStart",
                                    (value) =>
            {
                Console.WriteLine("Game Starting");
                SceneManager.Instance.LoadScene <GameplayScene>();
            });
            _connection.On <string>("ReceiveMessage",
                                    (value) =>
            {
                //Debug, not used anymore
                Console.WriteLine("Received " + value);
            });
            _connection.On <string>("Turn",
                                    (value) =>
            {
                if (value == _connection.ConnectionId)
                {
                    currentTurn = "YOU";
                }
                else
                {
                    currentTurn = value;
                }
                OnPlayerChanged(EventArgs.Empty);
            });
            _connection.On <float, float, string>("PosChange",
                                                  (x, y, connID) =>
            {
                MoveEventArtgs args = new MoveEventArtgs {
                    X = x, Y = y, ConnID = connID
                };
                PlayerMoved(this, args);
            });
            _connection.On <float, string>("AngleChange",
                                           (angle, connID) =>
            {
                RotateEventArgs args = new RotateEventArgs {
                    Angle = angle, ConnID = connID
                };
                BarrelRotate(this, args);
            });
            _connection.On <string>("Crate",
                                    (value) =>
            {
                if (value == null)
                {
                }
                else
                {
                }
            });
            try
            {
                await _connection.StartAsync();

                OnPlayerConnected(EventArgs.Empty);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }