Main window: Main, Settings, Statistics and Tools tabs as a markup panel

The original's notebook without the parts OpenAC or another plugin now owns
(updater, VTank path, route visualisation, chest looter). Labels read live
from the trackers each frame. Settings gains the backend URL and shared-secret
fields, since the secret is no longer compiled in. Tools opens the Mossy
Tracker and Metas windows through openers their features set. The WebSocket
label now shows the real connection state rather than the setting.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-09-25 12:19:01 +02:00
parent 1ff0a40aeb
commit 5799ea956e
5 changed files with 379 additions and 0 deletions

View file

@ -69,6 +69,9 @@ internal sealed class KillTracker(IClock clock)
public int RareCount { get; set; }
/// <summary>The highest kills-per-hour seen since the last reset, as the original's statistics page kept it.</summary>
public double BestKillsPerHour { get; private set; }
/// <summary>Counts a kill when <paramref name="text"/> is one of the player's kill messages.</summary>
public bool CheckForKill(string text)
{
@ -92,6 +95,7 @@ internal sealed class KillTracker(IClock clock)
StatsStartTime = clock.Now;
KillsPer5Min = 0;
KillsPerHour = 0;
BestKillsPerHour = 0;
}
/// <summary>The once-a-second refresh the original ran on its stats timer.</summary>
@ -105,6 +109,8 @@ internal sealed class KillTracker(IClock clock)
KillsPer5Min = (TotalKills / minutesElapsed) * 5;
KillsPerHour = (TotalKills / minutesElapsed) * 60;
}
if (KillsPerHour > BestKillsPerHour)
BestKillsPerHour = KillsPerHour;
}
private static bool IsKilledByMeMessage(string text)