private static void Pulse(TimeSpan elapsedTime, IGameClient client) { if (client?.Aisling != null) { ObjectComponent.UpdateClientObjects(client.Aisling); } client?.Update(elapsedTime); }
public void UpdateClients(TimeSpan elapsedTime) { lock (Clients) { foreach (var client in Clients.Where(client => client?.Aisling != null)) { ObjectComponent.UpdateClientObjects(client.Aisling); if (!client.IsWarping) { Pulse(elapsedTime, client); } else if (client.IsWarping && !client.InMapTransition) { if (client.CanSendLocation && !client.IsRefreshing && client.Aisling.CurrentMapId == ServerContextBase.Config.PVPMap) { client.SendLocation(); } } } } }
private async Task Pulse(TimeSpan elapsedTime, GameClient client) { await client.Update(elapsedTime); ObjectComponent.UpdateClientObjects(client.Aisling); }