Esempio n. 1
0
        public static ProcessWorldResponse Map(IProcessWorldResponse c)
        {
            var result = new ProcessWorldResponse();

            result.Player = Map(c.Player);
            result.World  = Map(c.World);

            return(result);
        }
Esempio n. 2
0
        public void ProcessServerResponse(IProcessWorldRequest request, IProcessWorldResponse response)
        {
            WaitingServerResponse = false;
            lastPingDateTimeUtc   = DateTime.UtcNow;

            if (response != null)
            {
                RemoveSendedCommands(request.ClientCommands);

                foreach (var obj in AllObjects)
                {
                    obj.Value.Updated = false;
                }


                foreach (var city in response.World.Cities.Collection)
                {
                    MapCity(city, response.Player);
                }
                MapPayer(response.Player);

                DestroyNotMappedWorldObjects();

                World                = response.World;
                Player.IsMoving      = response.Player.IsMoving;
                Player.MoveToX       = response.Player.MoveToX;
                Player.MoveToY       = response.Player.MoveToY;
                Player.VisibleCities = response.Player.VisibleCities;

                // ReSharper disable once ConvertIfStatementToConditionalTernaryExpression
                if (Player.IsMoving)
                {
                    MovePlayer = new MovePlayer(new Vector3(Player.X, Player.Y), new Vector3(Player.MoveToX, Player.MoveToY));
                }
                else
                {
                    MovePlayer = null;
                }
            }
        }