using MikuSB.Data.Excel; namespace MikuSB.Data; public static class GameData { public static Dictionary CardData { get; private set; } = []; public static Dictionary WeaponData { get; private set; } = []; public static Dictionary CardSkinData { get; private set; } = []; public static Dictionary SuppliesData { get; private set; } = []; public static List AllSuppliesData { get; private set; } = []; public static Dictionary UpgradeExpData { get; private set; } = []; public static Dictionary BreakLevelLimitData { get; private set; } = []; public static Dictionary RecycleData { get; private set; } = []; public static Dictionary ChapterLevelData { get; private set; } = []; public static Dictionary RoleLevelData { get; private set; } = []; public static Dictionary ArItemData { get; private set; } = []; public static Dictionary ManifestationData { get; private set; } = []; public static Dictionary Rogue3DDifficultData { get; private set; } = []; public static Dictionary Rogue3DSeasonData { get; private set; } = []; public static Dictionary Rogue3DTalentData { get; private set; } = []; public static Dictionary Rogue3DDailyBuffData { get; private set; } = []; public static Dictionary BreakData { get; private set; } = []; public static Dictionary SpecialBreakData { get; private set; } = []; public static Dictionary SpineData { get; private set; } = []; public static Dictionary NodeConditionData { get; private set; } = []; public static List SupportCardData { get; private set; } = []; public static Dictionary SupportAffixData { get; private set; } = []; public static Dictionary SupportAffixPoolData { get; private set; } = []; public static Dictionary SupportFixedData { get; private set; } = []; public static Dictionary WeaponSkinData { get; private set; } = []; public static Dictionary DailyLevelData { get; private set; } = []; public static Dictionary BossPvpBossChallengeData { get; private set; } = []; public static Dictionary BossPvpBossData { get; private set; } = []; public static Dictionary BossPvpNumData { get; private set; } = []; public static Dictionary ClimbTowerTimeData { get; private set; } = []; public static Dictionary ClimbTowerDiffData { get; private set; } = []; public static Dictionary> ClimbTowerAwardData { get; private set; } = []; public static Dictionary ClimbTowerLevelOrderData { get; private set; } = []; public static Dictionary TowerLevelData { get; private set; } = []; public static Dictionary TowerEventLevelData { get; private set; } = []; public static Dictionary OtherItemData { get; private set; } = []; public static Dictionary ProfileData { get; private set; } = []; public static Dictionary CardSkinPartsData { get; private set; } = []; public static Dictionary CallItemData { get; private set; } = []; public static Dictionary WeaponPartsData { get; private set; } = []; public static Dictionary GuideData { get; private set; } = []; public static Dictionary DormGiftData { get; private set; } = []; public static Dictionary HouseFurniturePosData { get; private set; } = []; public static Dictionary GachaData { get; private set; } = []; public static Dictionary GachaProbabilityData { get; private set; } = []; public static Dictionary> GachaPoolData { get; private set; } = []; public static Dictionary VirCaptureTimeData { get; private set; } = []; public static Dictionary VirCaptureSeasonData { get; private set; } = []; public static Dictionary VirCaptureTrialTimeData { get; private set; } = []; public static Dictionary VirCaptureCaptureRegionData { get; private set; } = []; } public static class GameResourceTemplateId { public static ulong FromGdpl(uint genre, uint detail, uint particular, uint level) => ((ulong)level << 48) | ((ulong)particular << 32) | ((ulong)detail << 16) | genre; public static ulong FromGdpl(IReadOnlyList gdpl) => gdpl.Count >= 4 ? FromGdpl(gdpl[0], gdpl[1], gdpl[2], gdpl[3]) : 0; }