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