using System.Runtime.CompilerServices; namespace Decentralized { /// 矿架窗口里的状态面板:显卡数、耗电、算力。每台矿架一组文字,更新矿架时一并刷新。 public static class RigStatus { private static readonly ConditionalWeakTable Table = new ConditionalWeakTable(); public static void Add(GameItem rig, MachineryText[] lines) { Table.Remove(rig); Table.Add(rig, lines); } public static void Show(GameItem rig, int cards, int slots, int kj, double mhs) { if (!Table.TryGetValue(rig, out var t) || t.Length < 3) return; t[0].SetStatus(L.T("rig.st.cards"), $"{cards}/{slots}"); t[1].SetStatus(L.T("rig.st.power"), L.T("rig.st.kj", kj)); t[2].SetStatus(L.T("rig.st.hash"), $"{Fmt.Num(mhs)} MH/s"); } } }