public static void UpdateClientObjects(Aisling user) { Lorule.Update(() => { var payload = new List <Sprite>(); if (!user.LoggedIn || !user.Map.Ready) { return; } var objects = user.GetObjects(user.Map, selector => selector != null && selector.Serial != user.Serial, Get.All).ToArray(); var objectsInView = objects.Where(s => s.WithinRangeOf(user)).ToArray(); var objectsNotInView = objects.Where(s => !s.WithinRangeOf(user)).ToArray(); var objectsToRemove = objectsNotInView.Except(objectsInView).ToList(); var objectsToAdd = objectsInView.Except(objectsNotInView).ToArray(); CheckObjectClients(user, objects); RemoveObjects( user, objectsToRemove.ToArray()); AddObjects(payload, user, objectsToAdd); if (payload.Count > 0) { user.Show(Scope.Self, new ServerFormat07(payload.ToArray())); } }); }
public override void Update(TimeSpan elapsedTime) { if (_timer.Update(elapsedTime)) { Lorule.Update(ManageSpawns); } }
protected internal override void Update(TimeSpan elapsedTime) { if (Timer.Update(elapsedTime)) { Lorule.Update(SpawnMundanes); } }
public override void Update(TimeSpan elapsedTime) { if (Timer.Update(elapsedTime)) { Lorule.Update(SpawnMundanes); } }
protected internal override void Update(TimeSpan elapsedTime) { if (_timer.Update(elapsedTime)) { Lorule.Update(ManageSpawns); } }
public override void Update(TimeSpan elapsedTime) { Timer.Update(elapsedTime); if (Timer.Elapsed) { Lorule.Update(UpdateObjects); Timer.Reset(); } }
public override void Update(TimeSpan elapsedTime) { Timer.Update(elapsedTime); if (Timer.Elapsed) { Lorule.Update(SpawnMundanes); Timer.Reset(); } }
public override void Update(TimeSpan elapsedTime) { if (Updating) { _timer.Update(elapsedTime); if (_timer.Elapsed) { _timer.Reset(); Lorule.Update(ManageSpawns); } } }