using System; namespace Decentralized { /// 人脉网络里的"Web3 治理社区":整个 mod 的入口。买下后交付交易终端、一个矿架和一张 RZX 50,并开始每天的行情与挖矿结算;更多显卡、矿架向杰克逊博士购买。 public static class Unlock { public const string Id = "PD_WEB3_COMMUNITY"; public const int Price = 400; private const string Card = "Service"; public static bool IsUnlocked => PlayerStore.Instance != null && ModHelper.IsNetworkUpgradeUnlocked(Id); public static void Register() { try { // 分类用游戏自己的 "Service" 键,和 Probably Automated 一样归进现有的"服务"栏; // 标题和说明用回调:OnEnable 时 mod 本地化表还没加载 ModHelper.AddNetworkUpgrade(ModInfo.Id, Id, Price, Card, () => L.T("upgrade.title"), () => L.T("upgrade.desc"), OnPurchased, iconKey: ModInfo.Id + ":terminal"); } catch (NullReferenceException) { // 登记定义后游戏会访问 PlayerStore.Instance,主菜单阶段为空会抛异常;定义已登记,读档时游戏会把升级补进这一局。 Log.Info("人脉升级已登记(主菜单阶段访问 PlayerStore 失败,已忽略)"); } } private static void OnPurchased() { Items.Give(ModHelper.SpawnItem(Items.Terminal)); Items.Give(ModHelper.SpawnItem(Items.Rig)); Items.Give(ModHelper.SpawnItem(Items.GpuId("RZX60"))); Log.Info("已加入 Web3 治理社区"); } } }