版本 1.0.0-rc4:Web3 升级放进基础页的一栏

This commit is contained in:
ZHU MINCHAO committed 2026-11-04 23:51:36 +08:00
1 parent c4aee5e53b
commit 00a000e3f9
5 files changed
+11 -10

No files matched your search

+4
View File
@@ -1,5 +1,9 @@
# Changelog # Changelog
## 1.0.0-rc4
- 人脉网络里 Web3 的三个升级(入口、混币器、黑市)从单独的 WEB3 标签挪进“基础”页,自成一栏(栏名 Web3),像水商升级那样连成一条。
## 1.0.0-rc3 ## 1.0.0-rc3
- 去掉反射:游戏的模组扫描把运行时反射算作未声明的权限,rc1 因此被拒绝启用。两处都改掉:电子元件升级矿架时,原版元件工厂改用游戏公开的 `DirectoryMaster.GetFactory` 取得;手册占位符取值(`TuningText`)从反射改成生成的查表(`TuningTable.cs`,单元测试核对它和 `Tuning` 一致)。清单不声明任何能力,扫描结果为无。升级流程重新走通:普通 ×4 解锁第 3 槽,稀有 ×1 第 4 槽,稀有 ×2 第 5 槽。 - 去掉反射:游戏的模组扫描把运行时反射算作未声明的权限,rc1 因此被拒绝启用。两处都改掉:电子元件升级矿架时,原版元件工厂改用游戏公开的 `DirectoryMaster.GetFactory` 取得;手册占位符取值(`TuningText`)从反射改成生成的查表(`TuningTable.cs`,单元测试核对它和 `Tuning` 一致)。清单不声明任何能力,扫描结果为无。升级流程重新走通:普通 ×4 解锁第 3 槽,稀有 ×1 第 4 槽,稀有 ×2 第 5 槽。
+1 -1
View File
@@ -1,6 +1,6 @@
# Probably Decentralized # Probably Decentralized
A mod for *Probably Stolen*: crypto mining, a fictional coin market, stablecoins, laundering and its risks, a Web3 black market, built on the game's own power, events and law systems. Current version: 1.0.0-rc3 (release candidate). A mod for *Probably Stolen*: crypto mining, a fictional coin market, stablecoins, laundering and its risks, a Web3 black market, built on the game's own power, events and law systems. Current version: 1.0.0-rc4 (release candidate).
All coins, exchanges and events are fictional and have no real-world value. All coins, exchanges and events are fictional and have no real-world value.
+1 -1
View File
@@ -7,7 +7,7 @@ namespace Decentralized
{ {
public const string Id = "probably_decentralized"; public const string Id = "probably_decentralized";
public const string Name = "Probably Decentralized"; public const string Name = "Probably Decentralized";
public const string Version = "1.0.0-rc3"; public const string Version = "1.0.0-rc4";
} }
/// <summary>本地化:游戏的 mod 本地化表(ModFiles/Localization/*.csv),当前语言缺失时回退英文。</summary> /// <summary>本地化:游戏的 mod 本地化表(ModFiles/Localization/*.csv),当前语言缺失时回退英文。</summary>
+1 -1
View File
@@ -3,7 +3,7 @@
<ID>probably_decentralized</ID> <ID>probably_decentralized</ID>
<Name>Probably Decentralized</Name> <Name>Probably Decentralized</Name>
<Author>edward</Author> <Author>edward</Author>
<ModVersion>1.0.0-rc3</ModVersion> <ModVersion>1.0.0-rc4</ModVersion>
<Description>Mine PSC with graphics cards, trade it on a fictional exchange, and cash it out past the compliance desk. Work in progress. All coins, exchanges and events are fictional and have no real-world value.</Description> <Description>Mine PSC with graphics cards, trade it on a fictional exchange, and cash it out past the compliance desk. Work in progress. All coins, exchanges and events are fictional and have no real-world value.</Description>
<GameVersions> <GameVersions>
<Version>0.46</Version> <Version>0.46</Version>
+4 -7
View File
@@ -7,9 +7,8 @@ namespace Decentralized
{ {
public const string Id = "PD_WEB3_COMMUNITY"; public const string Id = "PD_WEB3_COMMUNITY";
public const int Price = Domain.Tuning.UnlockPrice; public const int Price = Domain.Tuning.UnlockPrice;
private const string Card = "Service"; /// <summary>人脉网络"基础"页里本 mod 自己的一栏(像水商升级那样成组):入口、混币器等 Web3 相关升级都放在这里。栏按这个键分组,显示的名称走回调。</summary>
/// <summary>人脉网络里本 mod 自己的一页:入口、混币器等 Web3 相关升级都放在这里。</summary> public const string Card = "PD_WEB3";
public const string Tab = "PD_WEB3";
public const string MixerId = "PD_MIXER"; public const string MixerId = "PD_MIXER";
public const int MixerPrice = Domain.Tuning.MixerUnlockPrice; public const int MixerPrice = Domain.Tuning.MixerUnlockPrice;
@@ -22,9 +21,7 @@ namespace Decentralized
public static void Register() public static void Register()
{ {
// 分类用游戏自己的 "Service" 键,和 Probably Automated 一样归进现有的"服务"栏; // 升级放在默认的"基础"页,自成一栏;标题、说明和栏名都用回调:OnEnable 时 mod 本地化表还没加载
// 标题和说明用回调:OnEnable 时 mod 本地化表还没加载
ModHelper.SetNetworkTabLabel(Tab, () => L.T("upgrade.tab"));
// 登记定义后游戏会访问 PlayerStore.Instance,主菜单阶段为空会抛异常;定义已登记,读档时游戏会把升级补进这一局。 // 登记定义后游戏会访问 PlayerStore.Instance,主菜单阶段为空会抛异常;定义已登记,读档时游戏会把升级补进这一局。
// 每个升级单独 try,免得前一个抛异常时后面的没登记上。 // 每个升级单独 try,免得前一个抛异常时后面的没登记上。
Add(Id, Price, () => L.T("upgrade.title"), () => L.T("upgrade.desc"), OnPurchased, "terminal", null); Add(Id, Price, () => L.T("upgrade.title"), () => L.T("upgrade.desc"), OnPurchased, "terminal", null);
@@ -34,7 +31,7 @@ namespace Decentralized
private static void Add(string id, int price, Func<string> title, Func<string> desc, Action onUnlock, string icon, string[] prerequisites) private static void Add(string id, int price, Func<string> title, Func<string> desc, Action onUnlock, string icon, string[] prerequisites)
{ {
try { ModHelper.AddNetworkUpgrade(ModInfo.Id, id, price, Card, title, desc, onUnlock, tab: Tab, iconKey: ModInfo.Id + ":" + icon, prerequisites: prerequisites); } try { ModHelper.AddNetworkUpgrade(ModInfo.Id, id, price, Card, title, desc, onUnlock, iconKey: ModInfo.Id + ":" + icon, prerequisites: prerequisites, subtitleLabel: () => L.T("upgrade.tab")); }
catch (NullReferenceException) { Log.Info($"人脉升级 {id} 已登记(主菜单阶段访问 PlayerStore 失败,已忽略)"); } catch (NullReferenceException) { Log.Info($"人脉升级 {id} 已登记(主菜单阶段访问 PlayerStore 失败,已忽略)"); }
} }