@@ -3,240 +3,94 @@
// ReSharper disable IdentifierTypo
using System.Collections.Generic ;
using System.Globalization ;
namespace GrasscutterTools.Game.Inventory
{
/// <summary>
/// 材料类型
/// </summary>
internal enum MaterialType
internal static class MaterialType
{
MATERIAL_NONE ,
MATERIAL_FOOD ,
MATERIAL_QUEST ,
MATERIAL_EXCHANGE ,
MATERIAL_CONSUME ,
MATERIAL_EXP_FRUIT ,
MATERIAL_AVATAR ,
MATERIAL_ADSORBATE ,
MATERIAL_CRICKET ,
MATERIAL_ELEM_CRYSTAL ,
MATERIAL_WEAPON_EXP_STONE ,
MATERIAL_CHEST ,
MATERIAL_RELIQUARY_MATERIAL ,
MATERIAL_AVATAR_MATERIAL ,
MATERIAL_NOTICE_ADD_HP ,
MATERIAL_SEA_LAMP ,
MATERIAL_SELECTABLE_CHEST ,
MATERIAL_FLYCLOAK ,
MATERIAL_NAMECARD ,
MATERIAL_TALENT ,
MATERIAL_WIDGET ,
MATERIAL_CHEST_BATCH_USE ,
MATERIAL_FAKE_ABSORBATE ,
MATERIAL_CONSUME_BATCH_USE ,
MATERIAL_WOOD ,
MATERIAL_FURNITURE_FORMULA ,
MATERIAL_CHANNELLER_SLAB_BUFF ,
MATERIAL_FURNITURE_SUITE_FORMULA ,
MATERIAL_COSTUME ,
MATERIAL_HOME_SEED ,
MATERIAL_FISH_BAIT ,
MATERIAL_FISH_ROD ,
MATERIAL_SUMO_BUFF , // sumo 活动道具, never appear
MATERIAL_FIREWORKS ,
MATERIAL_BGM ,
MATERIAL_SPICE_FOOD ,
MATERIAL_ACTIVITY_ROBOT ,
MATERIAL_ACTIVITY_GEAR ,
MATERIAL_ACTIVITY_JIGSAW ,
MATERIAL_ARANARA ,
MATERIAL_GCG_CARD ,
MATERIAL_GCG_CARD_FACE , // 影幻卡面
MATERIAL_GCG_CARD_BACK ,
MATERIAL_GCG_FIELD ,
MATERIAL_DESHRET_MANUAL ,
MATERIAL_RENAME_ITEM ,
MATERIAL_GCG_EXCHANGE_ITEM ,
MATERIAL_QUEST_EVENT_BOOK ,
MATERIAL_PROFILE_PICTURE ,
MATERIAL_RAINBOW_PRINCE_HAND_BOOK ,
MATERIAL_PHOTO_DISPLAY_BOOK ,
MATERIAL_REMUS_MUSIC_BOX ,
MATERIAL_GREATEFESTIVALV2_INVITE ,
MATERIAL_PHOTOGRAPH_POSE ,
MATERIAL_FIRE_MASTER_AVATAR_TALENT_ITEM ,
MATERIAL_PHOTOV5_HAND_BOOK ,
MATERIAL_AVATAR_TRACE ,
MATERIAL_CHEST_BATCH_USE_WITH_GROUP ,
MATERIAL_NATLAN_RELATION_A ,
MATERIAL_NATLAN_RELATION_B ,
MATERIAL_LANV5_PAIMON_GREETING_CARD ,
MATERIAL_NATLAN_RACE_ALBUM ,
MATERIAL_NATLAN_RACE_ENVELOPE ,
MATERIAL_MUSIC_GAME_BOOK_THEME ,
MATERIAL_MIKAWA_FLOWER_INVITE ,
MATERIAL_QUEST_ALBUM ,
MATERIAL_HOLIDAY_MEMORY_BOOK ,
MATERIAL_HOLIDAY_RESORT_INVITE ,
MATERIAL_PHOTOV6_HAND_BOOK ,
MATERIAL_WEAPON_SKIN ,
}
internal static class MaterialTypeExtension
{
private static readonly Dictionary < MaterialType , string > TextMapCHS = new Dictionary < MaterialType , string >
private static readonly Dictionary < string , string > TextMapCHS = new ( )
{
[MaterialType. MATERIAL_NONE] = "空" ,
[MaterialType. MATERIAL_FOOD] = "食物" ,
[MaterialType. MATERIAL_QUEST] = "任务" ,
[MaterialType. MATERIAL_EXCHANGE] = "收集物" ,
[MaterialType. MATERIAL_CONSUME] = "消耗品" ,
[MaterialType. MATERIAL_EXP_FRUIT] = "经验书" ,
[MaterialType. MATERIAL_AVATAR] = "角色" ,
[MaterialType. MATERIAL_ADSORBATE] = "能量球" ,
[MaterialType. MATERIAL_CRICKET] = "蛐蛐" ,
[MaterialType. MATERIAL_ELEM_CRYSTAL] = "神瞳" ,
[MaterialType. MATERIAL_WEAPON_EXP_STONE] = "武器锻造矿" ,
[MaterialType. MATERIAL_CHEST] = "宝箱" ,
[MaterialType. MATERIAL_RELIQUARY_MATERIAL] = "圣遗物经验瓶" ,
[MaterialType. MATERIAL_AVATAR_MATERIAL] = "角色天赋材料" ,
[MaterialType. MATERIAL_NOTICE_ADD_HP] = "回血食物" ,
[MaterialType. MATERIAL_SEA_LAMP] = "海灯节" ,
[MaterialType. MATERIAL_SELECTABLE_CHEST] = "自选礼包" ,
[MaterialType. MATERIAL_FLYCLOAK] = "风之翼" ,
[MaterialType. MATERIAL_NAMECARD] = "名片卡" ,
[MaterialType. MATERIAL_TALENT] = "天赋材料" ,
[MaterialType. MATERIAL_WIDGET] = "装饰物" ,
[MaterialType. MATERIAL_CHEST_BATCH_USE] = "礼包" ,
[MaterialType. MATERIAL_FAKE_ABSORBATE] = "MATERIAL_FAKE_ABSORBATE" ,
[MaterialType. MATERIAL_CONSUME_BATCH_USE] = "树脂" ,
[MaterialType. MATERIAL_WOOD] = "树木" ,
[MaterialType. MATERIAL_FURNITURE_FORMULA] = "尘歌壶室内摆设" ,
[MaterialType. MATERIAL_CHANNELLER_SLAB_BUFF] = "增益Buff" ,
[MaterialType. MATERIAL_FURNITURE_SUITE_FORMULA] = "尘歌壶摆设套装" ,
[MaterialType. MATERIAL_COSTUME] = "皮肤" ,
[MaterialType. MATERIAL_HOME_SEED] = "种子" ,
[MaterialType. MATERIAL_FISH_BAIT] = "鱼饵" ,
[MaterialType. MATERIAL_FISH_ROD] = "鱼竿" ,
[MaterialType. MATERIAL_SUMO_BUFF] = "MATERIAL_SUMO_BUFF" ,
[MaterialType. MATERIAL_FIREWORKS] = "烟花" ,
[MaterialType. MATERIAL_BGM] = "旋曜玉帛" ,
[MaterialType. MATERIAL_SPICE_FOOD] = "香气四溢的食物" ,
[MaterialType. MATERIAL_ACTIVITY_ROBOT] = "活动-兑换券" ,
[MaterialType. MATERIAL_ACTIVITY_GEAR] = "活动-齿轮" ,
[MaterialType. MATERIAL_ACTIVITY_JIGSAW] = "活动-部件" ,
[MaterialType. MATERIAL_ARANARA] = "兰纳罗" ,
[MaterialType. MATERIAL_GCG_CARD] = "七圣召唤-卡片" ,
[MaterialType. MATERIAL_GCG_CARD_FACE] = "七圣召唤-卡片-正面" ,
[MaterialType. MATERIAL_GCG_CARD_BACK] = "七圣召唤-卡片-背面" ,
[MaterialType. MATERIAL_GCG_FIELD] = "七圣召唤-卡片-场地" ,
[MaterialType. MATERIAL_DESHRET_MANUAL] = "沙漠书" ,
[MaterialType. MATERIAL_RENAME_ITEM] = "改名卡" ,
[MaterialType. MATERIAL_GCG_EXCHANGE_ITEM] = "七圣召唤-特殊卡" ,
[MaterialType. MATERIAL_QUEST_EVENT_BOOK] = "案件记录册" ,
[MaterialType. MATERIAL_PROFILE_PICTURE] = "头像道具" ,
[MaterialType. MATERIAL_RAINBOW_PRINCE_HAND_BOOK] = "特尔克西的奇幻历险" ,
[MaterialType. MATERIAL_PHOTO_DISPLAY_BOOK] = "纪念册" ,
[MaterialType. MATERIAL_REMUS_MUSIC_BOX] = "音乐盒" ,
[MaterialType. MATERIAL_GREATEFESTIVALV2_INVITE] = "邀请函" ,
[MaterialType. MATERIAL_PHOTOGRAPH_POSE] = "照相姿势" ,
[MaterialType. MATERIAL_FIRE_MASTER_AVATAR_TALENT_ITEM] = "燧原矿" ,
[MaterialType. MATERIAL_PHOTOV5_HAND_BOOK] = "回忆相册" ,
[MaterialType. MATERIAL_AVATAR_TRACE] = "游迹" ,
[MaterialType. MATERIAL_CHEST_BATCH_USE_WITH_GROUP] = "分享包" ,
[MaterialType. MATERIAL_NATLAN_RELATION_A] = "圣夜旅织A" ,
[MaterialType. MATERIAL_NATLAN_RELATION_B] = "圣夜旅织B" ,
[MaterialType. MATERIAL_LANV5_PAIMON_GREETING_CARD] = "祝柬" ,
[MaterialType. MATERIAL_NATLAN_RACE_ALBUM] = "砥砺之证" ,
[MaterialType. MATERIAL_NATLAN_RACE_ENVELOPE] = "纪念信件" ,
[MaterialType. MATERIAL_MUSIC_GAME_BOOK_THEME] = "音乐游戏书主题" ,
[MaterialType. MATERIAL_MIKAWA_FLOWER_INVITE] = "神子邀请函" ,
[MaterialType. MATERIAL_QUEST_ALBUM] = "任务相册" ,
[MaterialType. MATERIAL_HOLIDAY_MEMORY_BOOK] = "悠悠纪念册" ,
[MaterialType. MATERIAL_HOLIDAY_RESORT_INVITE] = "悠悠度假村邀请函" ,
[MaterialType. MATERIAL_PHOTOV6_HAND_BOOK] = "提瓦特影册" ,
[MaterialType. MATERIAL_WEAPON_SKIN] = "武器皮肤" ,
} ;
private static readonly Dictionary < MaterialType , string > TextMapEN = new Dictionary < MaterialType , string >
{
[MaterialType.MATERIAL_NONE] = "None" ,
[MaterialType.MATERIAL_FOOD] = "Food" ,
[MaterialType.MATERIAL_QUEST] = "Quest" ,
[MaterialType.MATERIAL_EXCHANGE] = "Exchange" ,
[MaterialType.MATERIAL_CONSUME] = "Consume" ,
[MaterialType.MATERIAL_EXP_FRUIT] = "Exp_fruit" ,
[MaterialType.MATERIAL_AVATAR] = "Avatar" ,
[MaterialType.MATERIAL_ADSORBATE] = "Adsorbate" ,
[MaterialType.MATERIAL_CRICKET] = "Cricket" ,
[MaterialType.MATERIAL_ELEM_CRYSTAL] = "Elem_crystal" ,
[MaterialType.MATERIAL_WEAPON_EXP_STONE] = "Weapon_exp_stone" ,
[MaterialType.MATERIAL_CHEST] = "Chest" ,
[MaterialType.MATERIAL_RELIQUARY_MATERIAL] = "Reliquary_material" ,
[MaterialType.MATERIAL_AVATAR_MATERIAL] = "Avatar_material" ,
[MaterialType.MATERIAL_NOTICE_ADD_HP] = "Notice_add_hp" ,
[MaterialType.MATERIAL_SEA_LAMP] = "Sea_lamp" ,
[MaterialType.MATERIAL_SELECTABLE_CHEST] = "Selectable_chest" ,
[MaterialType.MATERIAL_FLYCLOAK] = "Flycloak" ,
[MaterialType.MATERIAL_NAMECARD] = "Namecard" ,
[MaterialType.MATERIAL_TALENT] = "Talent" ,
[MaterialType.MATERIAL_WIDGET] = "Widget" ,
[MaterialType.MATERIAL_CHEST_BATCH_USE] = "Chest_batch_use" ,
[MaterialType.MATERIAL_FAKE_ABSORBATE] = "Fake_absorbate" ,
[MaterialType.MATERIAL_CONSUME_BATCH_USE] = "Consume_batch_use" ,
[MaterialType.MATERIAL_WOOD] = "Wood" ,
[MaterialType.MATERIAL_FURNITURE_FORMULA] = "Furniture_formula" ,
[MaterialType.MATERIAL_CHANNELLER_SLAB_BUFF] = "Channeller_slab_buff" ,
[MaterialType.MATERIAL_FURNITURE_SUITE_FORMULA] = "Furniture_suite_formula" ,
[MaterialType.MATERIAL_COSTUME] = "Costume" ,
[MaterialType.MATERIAL_HOME_SEED] = "Home_seed" ,
[MaterialType.MATERIAL_FISH_BAIT] = "Fish_bait" ,
[MaterialType.MATERIAL_FISH_ROD] = "Fish_rod" ,
[MaterialType.MATERIAL_SUMO_BUFF] = "Sumo_buff" ,
[MaterialType.MATERIAL_FIREWORKS] = "Fireworks" ,
[MaterialType.MATERIAL_BGM] = "Bgm" ,
[MaterialType.MATERIAL_SPICE_FOOD] = "Spice_food" ,
[MaterialType.MATERIAL_ACTIVITY_ROBOT] = "Activity_robot" ,
[MaterialType.MATERIAL_ACTIVITY_GEAR] = "Activity_gear" ,
[MaterialType.MATERIAL_ACTIVITY_JIGSAW] = "Activity_jigsaw" ,
[MaterialType.MATERIAL_ARANARA] = "Aranara" ,
[MaterialType.MATERIAL_GCG_CARD] = "Gcg_card" ,
[MaterialType.MATERIAL_GCG_CARD_FACE] = "Gcg_card_face" ,
[MaterialType.MATERIAL_GCG_CARD_BACK] = "Gcg_card_back" ,
[MaterialType.MATERIAL_GCG_FIELD] = "Gcg_field" ,
[MaterialType.MATERIAL_DESHRET_MANUAL] = "Deshret_manual" ,
[MaterialType.MATERIAL_RENAME_ITEM] = "Rename_item" ,
[MaterialType.MATERIAL_GCG_EXCHANGE_ITEM] = "Gcg_exchange_item" ,
[MaterialType.MATERIAL_QUEST_EVENT_BOOK] = "Quest_event_book" ,
[MaterialType.MATERIAL_PROFILE_PICTURE] = "Profile_picture" ,
[MaterialType.MATERIAL_RAINBOW_PRINCE_HAND_BOOK] = "Thelxie's Fantastic Adventures" ,
[MaterialType.MATERIAL_PHOTO_DISPLAY_BOOK] = "Album" ,
[MaterialType.MATERIAL_REMUS_MUSIC_BOX] = "MusicBox" ,
[MaterialType.MATERIAL_GREATEFESTIVALV2_INVITE] = "Invitation" ,
[MaterialType.MATERIAL_PHOTOGRAPH_POSE] = "Photograph_pose" ,
[MaterialType.MATERIAL_FIRE_MASTER_AVATAR_TALENT_ITEM] = "Fire_master_avatar_talent_item" ,
[MaterialType.MATERIAL_PHOTOV5_HAND_BOOK] = "Photov5_hand_book" ,
[MaterialType.MATERIAL_AVATAR_TRACE] = "Avatar_trace" ,
[MaterialType.MATERIAL_CHEST_BATCH_USE_WITH_GROUP] = "Chest_batch_use_with_group" ,
[MaterialType.MATERIAL_NATLAN_RELATION_A] = "Natlan_relation_a" ,
[MaterialType.MATERIAL_NATLAN_RELATION_B] = "Natlan_relation_b" ,
[MaterialType.MATERIAL_LANV5_PAIMON_GREETING_CARD] = "Lanv5_paimon_greeting_card" ,
[MaterialType.MATERIAL_NATLAN_RACE_ALBUM] = "Natlan_race_album" ,
[MaterialType.MATERIAL_NATLAN_RACE_ENVELOPE] = "Natlan_race_envelope" ,
[MaterialType.MATERIAL_MUSIC_GAME_BOOK_THEME] = "Music_game_book_theme" ,
[MaterialType.MATERIAL_MIKAWA_FLOWER_INVITE] = "Mikawa_flower_invite" ,
[MaterialType.MATERIAL_QUEST_ALBUM] = "Quest_album" ,
[MaterialType.MATERIAL_HOLIDAY_MEMORY_BOOK] = "Holiday_memory_book" ,
[MaterialType.MATERIAL_HOLIDAY_RESORT_INVITE] = "Holiday_resort_invite" ,
[MaterialType.MATERIAL_PHOTOV6_HAND_BOOK] = "Photov6_hand_book" ,
[MaterialType.MATERIAL_WEAPON_SKIN] = "Material_weapon_skin" ,
[" MATERIAL_NONE" ] = "空" ,
[" MATERIAL_FOOD" ] = "食物" ,
[" MATERIAL_QUEST" ] = "任务" ,
[" MATERIAL_EXCHANGE" ] = "收集物" ,
[" MATERIAL_CONSUME" ] = "消耗品" ,
[" MATERIAL_EXP_FRUIT" ] = "经验书" ,
[" MATERIAL_AVATAR" ] = "角色" ,
[" MATERIAL_ADSORBATE" ] = "能量球" ,
[" MATERIAL_CRICKET" ] = "蛐蛐" ,
[" MATERIAL_ELEM_CRYSTAL" ] = "神瞳" ,
[" MATERIAL_WEAPON_EXP_STONE" ] = "武器锻造矿" ,
[" MATERIAL_CHEST" ] = "宝箱" ,
[" MATERIAL_RELIQUARY_MATERIAL" ] = "圣遗物经验瓶" ,
[" MATERIAL_AVATAR_MATERIAL" ] = "角色天赋材料" ,
[" MATERIAL_NOTICE_ADD_HP" ] = "回血食物" ,
[" MATERIAL_SEA_LAMP" ] = "海灯节" ,
[" MATERIAL_SELECTABLE_CHEST" ] = "自选礼包" ,
[" MATERIAL_FLYCLOAK" ] = "风之翼" ,
[" MATERIAL_NAMECARD" ] = "名片卡" ,
[" MATERIAL_TALENT" ] = "天赋材料" ,
[" MATERIAL_WIDGET" ] = "装饰物" ,
[" MATERIAL_CHEST_BATCH_USE" ] = "礼包" ,
[" MATERIAL_FAKE_ABSORBATE" ] = "MATERIAL_FAKE_ABSORBATE" ,
[" MATERIAL_CONSUME_BATCH_USE" ] = "树脂" ,
[" MATERIAL_WOOD" ] = "树木" ,
[" MATERIAL_FURNITURE_FORMULA" ] = "尘歌壶室内摆设" ,
[" MATERIAL_CHANNELLER_SLAB_BUFF" ] = "增益Buff" ,
[" MATERIAL_FURNITURE_SUITE_FORMULA" ] = "尘歌壶摆设套装" ,
[" MATERIAL_COSTUME" ] = "皮肤" ,
[" MATERIAL_HOME_SEED" ] = "种子" ,
[" MATERIAL_FISH_BAIT" ] = "鱼饵" ,
[" MATERIAL_FISH_ROD" ] = "鱼竿" ,
[" MATERIAL_SUMO_BUFF" ] = "MATERIAL_SUMO_BUFF" ,
[" MATERIAL_FIREWORKS" ] = "烟花" ,
[" MATERIAL_BGM" ] = "旋曜玉帛" ,
[" MATERIAL_SPICE_FOOD" ] = "香气四溢的食物" ,
[" MATERIAL_ACTIVITY_ROBOT" ] = "活动-兑换券" ,
[" MATERIAL_ACTIVITY_GEAR" ] = "活动-齿轮" ,
[" MATERIAL_ACTIVITY_JIGSAW" ] = "活动-部件" ,
[" MATERIAL_ARANARA" ] = "兰纳罗" ,
[" MATERIAL_GCG_CARD" ] = "七圣召唤-卡片" ,
[" MATERIAL_GCG_CARD_FACE" ] = "七圣召唤-卡片-正面" ,
[" MATERIAL_GCG_CARD_BACK" ] = "七圣召唤-卡片-背面" ,
[" MATERIAL_GCG_FIELD" ] = "七圣召唤-卡片-场地" ,
[" MATERIAL_DESHRET_MANUAL" ] = "沙漠书" ,
[" MATERIAL_RENAME_ITEM" ] = "改名卡" ,
[" MATERIAL_GCG_EXCHANGE_ITEM" ] = "七圣召唤-特殊卡" ,
[" MATERIAL_QUEST_EVENT_BOOK" ] = "案件记录册" ,
[" MATERIAL_PROFILE_PICTURE" ] = "头像道具" ,
[" MATERIAL_RAINBOW_PRINCE_HAND_BOOK" ] = "特尔克西的奇幻历险" ,
[" MATERIAL_PHOTO_DISPLAY_BOOK" ] = "纪念册" ,
[" MATERIAL_REMUS_MUSIC_BOX" ] = "音乐盒" ,
[" MATERIAL_GREATEFESTIVALV2_INVITE" ] = "邀请函" ,
[" MATERIAL_PHOTOGRAPH_POSE" ] = "照相姿势" ,
[" MATERIAL_FIRE_MASTER_AVATAR_TALENT_ITEM" ] = "燧原矿" ,
[" MATERIAL_PHOTOV5_HAND_BOOK" ] = "回忆相册" ,
[" MATERIAL_AVATAR_TRACE" ] = "游迹" ,
[" MATERIAL_CHEST_BATCH_USE_WITH_GROUP" ] = "分享包" ,
[" MATERIAL_NATLAN_RELATION_A" ] = "圣夜旅织A" ,
[" MATERIAL_NATLAN_RELATION_B" ] = "圣夜旅织B" ,
[" MATERIAL_LANV5_PAIMON_GREETING_CARD" ] = "祝柬" ,
[" MATERIAL_NATLAN_RACE_ALBUM" ] = "砥砺之证" ,
[" MATERIAL_NATLAN_RACE_ENVELOPE" ] = "纪念信件" ,
[" MATERIAL_MUSIC_GAME_BOOK_THEME" ] = "音乐游戏书主题" ,
[" MATERIAL_MIKAWA_FLOWER_INVITE" ] = "神子邀请函" ,
[" MATERIAL_QUEST_ALBUM" ] = "任务相册" ,
[" MATERIAL_HOLIDAY_MEMORY_BOOK" ] = "悠悠纪念册" ,
[" MATERIAL_HOLIDAY_RESORT_INVITE" ] = "悠悠度假村邀请函" ,
[" MATERIAL_PHOTOV6_HAND_BOOK" ] = "提瓦特影册" ,
[" MATERIAL_WEAPON_SKIN" ] = "武器皮肤" ,
} ;
public static string ToTranslatedString ( this MaterialType materialType , string language )
public static string ToTranslatedString ( string materialType , string language )
{
if ( ! TextMapCHS . ContainsKey ( materialType ) )
return materialType . ToString ( ) ;
return language . StartsWith ( "zh" ) ? TextMapCHS [ materialType ] : TextMapEN [ materialType ] ;
if ( language . StartsWith ( "zh" ) & & TextMapCHS . TryGetValue ( materialType , out var text ))
return text ;
return CultureInfo . CurrentCulture . TextInfo . ToTitleCase (
materialType . Substring ( "MATERIAL_" . Length )
. Replace ( '_' , ' ' )
. ToLower ( ) ) ;
}
}
}