首页加挖矿、灰网、钱包入口卡片和图标

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ZHU MINCHAOandClaude Sonnet 5.5 committed 2026-11-05 16:50:40 +08:00
1 parent 264252881c
commit e746024422
13 files changed
+67 -19

No files matched your search

+1
View File
@@ -3,6 +3,7 @@
## 未发布
- 终端页签重新分组:一级页签为首页、银行、Poinbase、Web3、挖矿、灰网、钱包。挖矿(原 Web3 的挖矿页)提到一级;混币器和商店合成“灰网”(解锁了任一项才出现,两项都解锁时里面再分两页);浏览器挪进钱包页,和钱包列表并成两个子页;Web3 页剩交易、质押、空投、预测、理财。
- 首页入口卡片增加挖矿、灰网(解锁后出现)、钱包,各有图标(32×32 像素图 ui_mining、ui_gray、ui_wallets);超过四张分两行,卡片和图标缩小。Web3 卡片的说明改为“去中心化交易与质押”。
- “连接钱包”挪到终端顶栏右端,所有页都能连接或断开;没有连接时,Web3、灰网页仍显示提示。
- 手册、混币器和商店的解锁说明按新位置改写(8 种语言),术语表加“灰网”。
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,Regulierte Börse
entry.poinbase.l2,PSC {0} Credits
entry.web3,Web3
entry.web3.l1,Wallet und dezentraler Handel
entry.web3.l2,Ca. {0} Credits
entry.help,Hilfe
entry.help.l1,Web3-Handbuch
@@ -941,3 +940,8 @@ predict.clue.subsidy,Reserve {0}%; bei 0 folgt sicher eine Warnung
air.noapprove,keine Token-Freigabe
tab.gray,Graunetz
wallets.sub.list,Wallet-Liste
entry.web3.l1,Dezentraler Handel und Erträge
entry.mining.l1,Rig-Status und nächtliche Erträge
entry.gray.l1,Mixer und Shop
entry.wallets.l1,Hardware-Wallets und Explorer
entry.wallets.l2,Wallets {0} / {1}
1 # Probably Decentralized localization table: German (de)
126 entry.poinbase.l1
127 entry.poinbase.l2
128 entry.web3
entry.web3.l1
129 entry.web3.l2
130 entry.help
131 entry.help.l1
940 air.noapprove
941 tab.gray
942 wallets.sub.list
943 entry.web3.l1
944 entry.mining.l1
945 entry.gray.l1
946 entry.wallets.l1
947 entry.wallets.l2
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,Compliant exchange
entry.poinbase.l2,PSC {0} credits
entry.web3,Web3
entry.web3.l1,Wallet and decentralised trading
entry.web3.l2,About {0} credits
entry.help,Help
entry.help.l1,Web3 handbook
@@ -941,3 +940,8 @@ predict.clue.subsidy,Reserve {0}%; empty forces a warning
air.noapprove,no token allowance
tab.gray,Gray Net
wallets.sub.list,Wallet list
entry.web3.l1,Decentralised trading and yield
entry.mining.l1,Rig status and nightly payouts
entry.gray.l1,Mixer and shop
entry.wallets.l1,Hardware wallets and Explorer
entry.wallets.l2,Wallets {0} / {1}
1 # Probably Decentralized localization table: English (en)
126 entry.poinbase.l1
127 entry.poinbase.l2
128 entry.web3
entry.web3.l1
129 entry.web3.l2
130 entry.help
131 entry.help.l1
940 air.noapprove
941 tab.gray
942 wallets.sub.list
943 entry.web3.l1
944 entry.mining.l1
945 entry.gray.l1
946 entry.wallets.l1
947 entry.wallets.l2
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,Exchange regulado
entry.poinbase.l2,PSC {0} créditos
entry.web3,Web3
entry.web3.l1,Billetera y comercio descentralizado
entry.web3.l2,Aprox. {0} créditos
entry.help,Ayuda
entry.help.l1,Manual de Web3
@@ -941,3 +940,8 @@ predict.clue.subsidy,"Reserva al {0}%; a cero, la advertencia es segura"
air.noapprove,sin permiso sobre tokens
tab.gray,Red gris
wallets.sub.list,Lista
entry.web3.l1,Comercio descentralizado y rendimiento
entry.mining.l1,Estado de los equipos y ganancias nocturnas
entry.gray.l1,Mezclador y tienda
entry.wallets.l1,Billeteras de hardware y explorador
entry.wallets.l2,Billeteras {0} / {1}
1 # Probably Decentralized localization table: Spanish (es)
126 entry.poinbase.l1
127 entry.poinbase.l2
128 entry.web3
entry.web3.l1
129 entry.web3.l2
130 entry.help
131 entry.help.l1
940 air.noapprove
941 tab.gray
942 wallets.sub.list
943 entry.web3.l1
944 entry.mining.l1
945 entry.gray.l1
946 entry.wallets.l1
947 entry.wallets.l2
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,Bourse conforme
entry.poinbase.l2,PSC {0} crédits
entry.web3,Web3
entry.web3.l1,Portefeuille et trading décentralisé
entry.web3.l2,Environ {0} crédits
entry.help,Aide
entry.help.l1,Manuel Web3
@@ -941,3 +940,8 @@ predict.clue.subsidy,"Réserve à {0} % ; à zéro, l'alerte est certaine"
air.noapprove,aucune autorisation de jetons
tab.gray,Réseau gris
wallets.sub.list,Liste
entry.web3.l1,Trading décentralisé et rendement
entry.mining.l1,État des machines et gains nocturnes
entry.gray.l1,Mixeur et boutique
entry.wallets.l1,Portefeuilles matériels et explorateur
entry.wallets.l2,Portefeuilles {0} / {1}
1 # Probably Decentralized localization table: French (fr)
126 entry.poinbase.l1
127 entry.poinbase.l2
128 entry.web3
entry.web3.l1
129 entry.web3.l2
130 entry.help
131 entry.help.l1
940 air.noapprove
941 tab.gray
942 wallets.sub.list
943 entry.web3.l1
944 entry.mining.l1
945 entry.gray.l1
946 entry.wallets.l1
947 entry.wallets.l2
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,規制準拠取引所
entry.poinbase.l2,PSC {0}クレジット
entry.web3,Web3
entry.web3.l1,ウォレットと分散型取引
entry.web3.l2,約{0}クレジット
entry.help,ヘルプ
entry.help.l1,Web3ハンドブック
@@ -941,3 +940,8 @@ predict.clue.subsidy,準備金残量 {0}%。ゼロになれば必ず警告が出
air.noapprove,トークン許可なし
tab.gray,グレーネット
wallets.sub.list,一覧
entry.web3.l1,分散型取引と運用
entry.mining.l1,採掘機の状態と夜間収益
entry.gray.l1,ミキサーとショップ
entry.wallets.l1,ハードウェアウォレットとエクスプローラー
entry.wallets.l2,ウォレット {0} / {1}
Can't render this file because it contains an unexpected character in line 506 and column 24.
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,Giełda regulowana
entry.poinbase.l2,PSC: {0} kredytów
entry.web3,Web3
entry.web3.l1,Portfel i handel zdecentralizowany
entry.web3.l2,Ok. {0} kredytów
entry.help,Pomoc
entry.help.l1,Podręcznik Web3
@@ -941,3 +940,8 @@ predict.clue.subsidy,Rezerwa: {0}%; przy zerze ostrzeżenie jest pewne
air.noapprove,bez zgody na tokeny
tab.gray,Szara sieć
wallets.sub.list,Lista
entry.web3.l1,Handel zdecentralizowany i zyski
entry.mining.l1,Stan koparek i nocne zyski
entry.gray.l1,Mikser i sklep
entry.wallets.l1,Portfele sprzętowe i eksplorator
entry.wallets.l2,Portfele {0} / {1}
1 # Probably Decentralized localization table: Polish (pl)
126 entry.poinbase.l1
127 entry.poinbase.l2
128 entry.web3
entry.web3.l1
129 entry.web3.l2
130 entry.help
131 entry.help.l1
940 air.noapprove
941 tab.gray
942 wallets.sub.list
943 entry.web3.l1
944 entry.mining.l1
945 entry.gray.l1
946 entry.wallets.l1
947 entry.wallets.l2
@@ -126,7 +126,6 @@ entry.poinbase,Poinbase
entry.poinbase.l1,Регулируемая биржа
entry.poinbase.l2,PSC {0} кредитов
entry.web3,Web3
entry.web3.l1,Кошелёк и децентрализованная торговля
entry.web3.l2,Около {0} кредитов
entry.help,Справка
entry.help.l1,Руководство по Web3
@@ -941,3 +940,8 @@ predict.clue.subsidy,Резерв {0}%; при нуле предупрежден
air.noapprove,без доступа к токенам
tab.gray,Серая сеть
wallets.sub.list,Список
entry.web3.l1,Децентрализованная торговля и доходность
entry.mining.l1,Состояние ферм и ночной доход
entry.gray.l1,Миксер и магазин
entry.wallets.l1,Аппаратные кошельки и обозреватель
entry.wallets.l2,Кошельки {0} / {1}
1 # Probably Decentralized localization table: Russian (ru)
126 entry.poinbase.l1
127 entry.poinbase.l2
128 entry.web3
entry.web3.l1
129 entry.web3.l2
130 entry.help
131 entry.help.l1
940 air.noapprove
941 tab.gray
942 wallets.sub.list
943 entry.web3.l1
944 entry.mining.l1
945 entry.gray.l1
946 entry.wallets.l1
947 entry.wallets.l2
@@ -125,7 +125,6 @@ entry.poinbase,"Poinbase"
entry.poinbase.l1,"合规交易所"
entry.poinbase.l2,"PSC {0} 信用点"
entry.web3,"Web3"
entry.web3.l1,"钱包与去中心化交易"
entry.web3.l2,"约 {0} 信用点"
entry.help,帮助
entry.help.l1,Web3 手册
@@ -940,3 +939,8 @@ predict.clue.subsidy,储备余量 {0}%,归零必预警
air.noapprove,不要代币额度
tab.gray,灰网
wallets.sub.list,钱包列表
entry.web3.l1,去中心化交易与质押
entry.mining.l1,矿机状态与夜间收益
entry.gray.l1,混币器与商店
entry.wallets.l1,硬件钱包与浏览器
entry.wallets.l2,钱包 {0} / {1}
1 # Probably Decentralized 本地化表:简体中文(zh)
125 entry.poinbase.l1
126 entry.poinbase.l2
127 entry.web3
entry.web3.l1
128 entry.web3.l2
129 entry.help
130 entry.help.l1
939 air.noapprove
940 tab.gray
941 wallets.sub.list
942 entry.web3.l1
943 entry.mining.l1
944 entry.gray.l1
945 entry.wallets.l1
946 entry.wallets.l2
Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

+26 -11
View File
@@ -95,16 +95,17 @@ namespace Decentralized
if (CustomUIManager.Instance != null && CustomUIManager.Instance.IsOpen(Id)) Open();
}
private static void Entry(CustomUIBuilder b, string icon, string name, string line1, string line2, Page target) =>
Entry(b, icon, name, line1, line2, L.T("home.enter"), () => Go(target));
private static void Entry(CustomUIBuilder b, string icon, string name, string line1, string line2, Page target, bool compact, int perRow) =>
Entry(b, icon, name, line1, line2, L.T("home.enter"), () => Go(target), compact, perRow);
private static void Entry(CustomUIBuilder b, string icon, string name, string line1, string line2, string button, Action onEnter)
private static void Entry(CustomUIBuilder b, string icon, string name, string line1, string line2, string button, Action onEnter, bool compact, int perRow)
{
b.BeginPanel((ScreenW - 80f) / 4f, 250f + (ScreenH - 578f) * 0.25f, TextAnchor.UpperCenter, 10f, 6f);
float h = compact ? Mathf.Clamp((ScreenH - 190f) / 2f, 180f, 270f) : 250f + (ScreenH - 578f) * 0.25f, pic = compact ? 64f : 96f;
b.BeginPanel((ScreenW - 80f) / perRow, h, TextAnchor.UpperCenter, 10f, compact ? 4f : 6f);
var cardImg = b.Last.image;
cardImg.sprite = MachineryStyle.White;
cardImg.color = PledgerSkin.RowNormal;
b.AddImage(ModInfo.Id + ":" + icon, 96f, 96f);
b.AddImage(ModInfo.Id + ":" + icon, pic, pic);
b.AddHeader(name);
b.AddLabel(line1);
if (line2 != null) b.AddLabel(line2, "entry_l2_dim");
@@ -119,12 +120,26 @@ namespace Decentralized
double chain = d.ChainValue(Session.Price);
b.AddLabel(L.T("home.summary", PlayerStore.Instance.playerCash, Fmt.Credits(chain)));
b.AddSpace(6f);
b.BeginRow(8f, TextAnchor.UpperCenter);
Entry(b, "ui_bank", L.T("entry.bank"), L.T("entry.bank.l1"), L.T("entry.bank.l2", PlayerStore.Instance.playerCash), Page.Bank);
Entry(b, "ui_poinbase", L.T("entry.poinbase"), L.T("entry.poinbase.l1"), null, Page.Poinbase);
Entry(b, "ui_web3", L.T("entry.web3"), L.T("entry.web3.l1"), L.T("entry.web3.l2", Fmt.Credits(chain)), Page.Web3);
Entry(b, "ui_help", L.T("entry.help"), L.T("entry.help.l1"), null, L.T("home.open"), HandbookWindow.Open);
b.End();
var cards = new List<Action<bool, int>>
{
(two, n) => Entry(b, "ui_bank", L.T("entry.bank"), L.T("entry.bank.l1"), L.T("entry.bank.l2", PlayerStore.Instance.playerCash), Page.Bank, two, n),
(two, n) => Entry(b, "ui_poinbase", L.T("entry.poinbase"), L.T("entry.poinbase.l1"), null, Page.Poinbase, two, n),
(two, n) => Entry(b, "ui_web3", L.T("entry.web3"), L.T("entry.web3.l1"), L.T("entry.web3.l2", Fmt.Credits(chain)), Page.Web3, two, n),
(two, n) => Entry(b, "ui_mining", L.T("tab.mining"), L.T("entry.mining.l1"), null, Page.Mining, two, n),
};
if (GrayAvailable) cards.Add((two, n) => Entry(b, "ui_gray", L.T("tab.gray"), L.T("entry.gray.l1"), null, Page.Gray, two, n));
cards.Add((two, n) => Entry(b, "ui_wallets", L.T("tab.wallets"), L.T("entry.wallets.l1"), L.T("entry.wallets.l2", d.Wallets.Count, Tuning.WalletMax), Page.Wallets, two, n));
cards.Add((two, n) => Entry(b, "ui_help", L.T("entry.help"), L.T("entry.help.l1"), null, L.T("home.open"), HandbookWindow.Open, two, n));
// 一行四张;多于四张时分两行(每行尽量均分),卡片和图标相应缩小
bool twoRows = cards.Count > 4;
int first = twoRows ? (cards.Count + 1) / 2 : cards.Count;
for (int i = 0; i < cards.Count; i += first)
{
b.BeginRow(8f, TextAnchor.UpperCenter);
for (int j = i; j < Math.Min(cards.Count, i + first); j++) cards[j](twoRows, first);
b.End();
if (twoRows && i == 0) b.AddSpace(8f);
}
b.AddSpace(8f);
b.AddSeparator();
var r = d.LastNight;