/// <summary>
        /// Sends player stats to server
        /// </summary>
        /// <returns></returns>
        public void SavePlayerStats()
        {
            SetPlayerStatsRequest request = new SetPlayerStatsRequest
            {
                PlayerStats = PlayerStats.ToData(),
            };

            NetworkManager.Instance.SendSetPlayerStatsRequest(request);
        }
        public void SendSetPlayerStatsRequest(SetPlayerStatsRequest request)
        {
            if (!IsConnected)
            {
                return;
            }

            client.SendData((int)DataTypes.SetPlayerStatsRequest, request);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Player requests to set his info - collection, active hero..
        /// </summary>
        /// <param name="clientID"></param>
        /// <param name="request"></param>
        public void ProcessSetPlayerStatsRequest(int clientID, SetPlayerStatsRequest request)
        {
            Player player = PlayersManager.GetPlayer(clientID);

            if (player == null)
            {
                Console.WriteLine($"Can't find player {clientID}");
                return;
            }

            PlayersManager.TrySetPlayerStats(player, request.PlayerStats);

            PlayerStatsData data = player.GetStatsData();

            PlayerStatsResponse response = new PlayerStatsResponse
            {
                PlayerStats = data,
            };

            Server.SendDataToClient(player.ClientID, (int)DataTypes.PlayerStatsResponse, response);
        }