private void Update() { //if (GameStatus.Paused) return; if (CaravanServer != null && World != null) { try { if (!WaitingServerResponse && (lastPingDateTimeUtc.AddSeconds(1) < DateTime.UtcNow || CommandsToSend.Any())) { WaitingServerResponse = true; var request = new ProcessWorldRequestClientSideEntity { WorldGuid = World?.Guid, Player = Player, ClientCommands = CommandsToSend.ToArray() }; StartCoroutine(CaravanServer.ProcessWorld(request, ProcessServerResponse)); lastPingDateTimeUtc = DateTime.UtcNow; } ProcessMovePlayer(); } catch (Exception e) { CaravanServer = null; Debug.LogError($"Error while WorldController.Update(): {e}"); } } }
public static IProcessWorldRequest Map(ProcessWorldRequest c) { var result = new ProcessWorldRequestClientSideEntity(); result.WorldGuid = c.WorldGuid; result.Player = Map(c.Player); result.ClientCommands = Map(c.ClientCommands); result.LastServerCommandProcessed = c.LastServerCommandProcessed; return(result); }