Files
probably-decentralized/src/Decentralized/Unlock.cs
T
ZHU MINCHAOandClaude Sonnet 5.5 202bdbbfbc Four tiers per brand: RZX 60/70/80/90 and RZ 70/80/800/900
Model name is display only; performance and price follow brand and tier.
Tier physical traits: power pins 6/8/8/8+8 and fans 1/2/3/3.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:05:47 +08:00

40 lines
1.7 KiB
C#

using System;
namespace Decentralized
{
/// <summary>人脉网络里的"Web3 治理社区":整个 mod 的入口。买下后交付交易终端、一个矿架和一张 RZX 50,并开始每天的行情与挖矿结算;更多显卡、矿架向杰克逊博士购买。</summary>
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 治理社区");
}
}
}