private void TickMemoryThread() { try { IActorRefreshService refreshService = Services.Get <IActorRefreshService>(); while (this.isActive) { Thread.Sleep(16); if (!this.ProcessIsAlive) { return; } while (refreshService.IsRefreshing) { Thread.Sleep(64); } MemoryBase.TickAllActiveMemory(); } } catch (Exception ex) { Log.Write(new Exception("Memory thread exception", ex)); } }
public ExtendedAppearanceEditor() { this.InitializeComponent(); this.refreshService = Services.Get <IActorRefreshService>(); this.ContentArea.DataContext = this; }
public AppearancePage() { this.InitializeComponent(); IActorRefreshService refreshService = Services.Get <IActorRefreshService>(); refreshService.OnRefreshStarting += this.RefreshService_OnRefreshStarting; refreshService.OnRefreshComplete += this.RefreshService_OnRefreshComplete; }
public AppearancePage() { this.selectionService = Services.Get <ISelectionService>(); this.refreshService = Services.Get <IActorRefreshService>(); this.refreshService.RefreshBegin += this.RefreshService_RefreshBegin; this.refreshService.RefreshComplete += this.RefreshService_RefreshComplete; this.InitializeComponent(); }
private async Task Watch() { await Task.Delay(500); IActorRefreshService refreshService = Services.Get <IActorRefreshService>(); Modes currentMode = this.GetMode(); while (this.IsAlive) { await Task.Delay(250); while (refreshService.IsRefreshing) { await Task.Delay(250); } Modes newMode = this.GetMode(); if (newMode != currentMode) { await Task.Delay(1000); currentMode = newMode; this.RetargetActors(); try { this.ModeChanged?.Invoke(newMode); } catch (Exception ex) { Log.Write(ex, "Selection", Log.Severity.Error); } } } }
/// <summary> /// Marks the selected actor to be refreshed after a short delay. /// it is safe to call this repeatedly. /// </summary> public void ActorRefresh() { IActorRefreshService refreshService = Services.Get <IActorRefreshService>(); refreshService.Refresh(this.BaseAddress); }
private async Task Watch() { try { await Task.Delay(500); IActorRefreshService refreshService = Services.Get <IActorRefreshService>(); Modes currentMode = this.GetMode(); while (this.IsAlive) { await Task.Delay(250); while (refreshService.IsRefreshing) { await Task.Delay(250); } Modes newMode = this.GetMode(); if (newMode != currentMode) { await Task.Delay(1000); currentMode = newMode; try { this.ModeChanged?.Invoke(newMode); } catch (Exception ex) { Log.Write(ex, "Selection", Log.Severity.Error); } } Actor selected; try { if (newMode == Modes.Overworld) { selected = new Actor(Offsets.Main.Target); } else { selected = new Actor(Offsets.Main.Gpose); } } catch (Exception ex) { Log.Write(new Exception("Failed to select current target", ex), "Selection", Log.Severity.Warning); selected = null; } if (selected == null || selected.Type == ActorTypes.None) { continue; } if (selected != this.selectedActor) { await this.SelectActor(selected); } } } catch (Exception ex) { Log.Write(ex); } }
public async Task ActorRefreshAsync() { IActorRefreshService refreshService = Services.Get <IActorRefreshService>(); await refreshService.RefreshAsync(this); }