Files
probably-decentralized/src/Decentralized/Unlock.cs
T

38 lines
1.6 KiB
C#
Raw Normal View History

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 = 300;
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.GpuId("RZX50")));
Log.Info("已加入 Web3 治理社区");
}
}
}