Files
2025-12-25 16:41:11 +07:00

1895 lines
98 KiB
C#

using BrewMonster;
using BrewMonster.Scripts;
using Cysharp.Threading.Tasks;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Networking;
namespace ModelRenderer.Scripts.GameData
{
/// <summary>
/// config data of Inventory, Shop, NPC Shop, ...
/// </summary>
public class elementdataman
{
#region Dictionary for mapping id with other stuffs
public Dictionary<uint, DATA_TYPE> essence_id_data_type_map = new Dictionary<uint, DATA_TYPE>();
public Dictionary<int, uint> essence_index_id_map = new Dictionary<int, uint>();
public Dictionary<uint, object> essence_id_data_map = new Dictionary<uint, object>();
public Dictionary<uint, DATA_TYPE> config_id_data_type_map = new Dictionary<uint, DATA_TYPE>();
public Dictionary<int, uint> config_index_id_map = new Dictionary<int, uint>();
public Dictionary<uint, object> config_id_data_map = new Dictionary<uint, object>();
public Dictionary<uint, DATA_TYPE> talk_id_data_type_map = new Dictionary<uint, DATA_TYPE>();
public Dictionary<int, uint> talk_index_id_map = new Dictionary<int, uint>();
public Dictionary<uint, object> talk_id_data_map = new Dictionary<uint, object>();
public Dictionary<uint, DATA_TYPE> face_id_data_type_map = new Dictionary<uint, DATA_TYPE>();
public Dictionary<int, uint> face_index_id_map = new Dictionary<int, uint>();
public Dictionary<uint, object> face_id_data_map = new Dictionary<uint, object>();
public Dictionary<uint, DATA_TYPE> recipe_id_data_type_map = new Dictionary<uint, DATA_TYPE>();
public Dictionary<int, uint> recipe_index_id_map = new Dictionary<int, uint>();
public Dictionary<uint, object> recipe_id_data_map = new Dictionary<uint, object>();
public Dictionary<uint, DATA_TYPE> addon_id_data_type_map = new Dictionary<uint, DATA_TYPE>();
public Dictionary<int, uint> addon_index_id_map = new Dictionary<int, uint>();
public Dictionary<uint, object> addon_id_data_map = new Dictionary<uint, object>();
#endregion
#region Arrays for storing the data
public EQUIPMENT_ADDON[] equipment_addon_array = new EQUIPMENT_ADDON[0];
public WEAPON_MAJOR_TYPE[] weapon_major_type_array = new WEAPON_MAJOR_TYPE[0];
public WEAPON_SUB_TYPE[] weapon_sub_type_array = new WEAPON_SUB_TYPE[0];
public WEAPON_ESSENCE[] weapon_essence_array = new WEAPON_ESSENCE[0];
public ARMOR_MAJOR_TYPE[] armor_major_type_array = new ARMOR_MAJOR_TYPE[0];
public ARMOR_SUB_TYPE[] armor_sub_type_array = new ARMOR_SUB_TYPE[0];
public ARMOR_ESSENCE[] armor_essence_array = new ARMOR_ESSENCE[0];
public DECORATION_MAJOR_TYPE[] decoration_major_type_array = new DECORATION_MAJOR_TYPE[0];
public DECORATION_SUB_TYPE[] decoration_sub_type_array = new DECORATION_SUB_TYPE[0];
public DECORATION_ESSENCE[] decoration_essence_array = new DECORATION_ESSENCE[0];
public MEDICINE_MAJOR_TYPE[] medicine_major_type_array = new MEDICINE_MAJOR_TYPE[0];
public MEDICINE_SUB_TYPE[] medicine_sub_type_array = new MEDICINE_SUB_TYPE[0];
public MEDICINE_ESSENCE[] medicine_essence_array = new MEDICINE_ESSENCE[0];
public MATERIAL_MAJOR_TYPE[] material_major_type_array = new MATERIAL_MAJOR_TYPE[0];
public MATERIAL_SUB_TYPE[] material_sub_type_array = new MATERIAL_SUB_TYPE[0];
public MATERIAL_ESSENCE[] material_essence_array = new MATERIAL_ESSENCE[0];
public DAMAGERUNE_SUB_TYPE[] damagerune_sub_type_array = new DAMAGERUNE_SUB_TYPE[0];
public DAMAGERUNE_ESSENCE[] damagerune_essence_array = new DAMAGERUNE_ESSENCE[0];
public ARMORRUNE_SUB_TYPE[] armorrune_sub_type_array = new ARMORRUNE_SUB_TYPE[0];
public ARMORRUNE_ESSENCE[] armorrune_essence_array = new ARMORRUNE_ESSENCE[0];
public SKILLTOME_SUB_TYPE[] skilltome_sub_type_array = new SKILLTOME_SUB_TYPE[0];
public SKILLTOME_ESSENCE[] skilltome_essence_array = new SKILLTOME_ESSENCE[0];
public FLYSWORD_ESSENCE[] flysword_essence_array = new FLYSWORD_ESSENCE[0];
public WINGMANWING_ESSENCE[] wingmanwing_essence_array = new WINGMANWING_ESSENCE[0];
public TOWNSCROLL_ESSENCE[] townscroll_essence_array = new TOWNSCROLL_ESSENCE[0];
public UNIONSCROLL_ESSENCE[] unionscroll_essence_array = new UNIONSCROLL_ESSENCE[0];
public REVIVESCROLL_ESSENCE[] revivescroll_essence_array = new REVIVESCROLL_ESSENCE[0];
public ELEMENT_ESSENCE[] element_essence_array = new ELEMENT_ESSENCE[0];
public TASKMATTER_ESSENCE[] taskmatter_essence_array = new TASKMATTER_ESSENCE[0];
public TOSSMATTER_ESSENCE[] tossmatter_essence_array = new TOSSMATTER_ESSENCE[0];
public PROJECTILE_TYPE[] projectile_type_array = new PROJECTILE_TYPE[0];
public PROJECTILE_ESSENCE[] projectile_essence_array = new PROJECTILE_ESSENCE[0];
public QUIVER_SUB_TYPE[] quiver_sub_type_array = new QUIVER_SUB_TYPE[0];
public QUIVER_ESSENCE[] quiver_essence_array = new QUIVER_ESSENCE[0];
public STONE_SUB_TYPE[] stone_sub_type_array = new STONE_SUB_TYPE[0];
public STONE_ESSENCE[] stone_essence_array = new STONE_ESSENCE[0];
public MONSTER_ADDON[] monster_addon_array = new MONSTER_ADDON[0];
public MONSTER_TYPE[] monster_type_array = new MONSTER_TYPE[0];
public MONSTER_ESSENCE[] monster_essence_array = new MONSTER_ESSENCE[0];
public NPC_TALK_SERVICE[] npc_talk_service_array = new NPC_TALK_SERVICE[0];
public NPC_SELL_SERVICE[] npc_sell_service_array = new NPC_SELL_SERVICE[0];
public NPC_BUY_SERVICE[] npc_buy_service_array = new NPC_BUY_SERVICE[0];
public NPC_REPAIR_SERVICE[] npc_repair_service_array = new NPC_REPAIR_SERVICE[0];
public NPC_INSTALL_SERVICE[] npc_install_service_array = new NPC_INSTALL_SERVICE[0];
public NPC_UNINSTALL_SERVICE[] npc_uninstall_service_array = new NPC_UNINSTALL_SERVICE[0];
public NPC_TASK_IN_SERVICE[] npc_task_in_service_array = new NPC_TASK_IN_SERVICE[0];
public NPC_TASK_OUT_SERVICE[] npc_task_out_service_array = new NPC_TASK_OUT_SERVICE[0];
public NPC_TASK_MATTER_SERVICE[] npc_task_matter_service_array = new NPC_TASK_MATTER_SERVICE[0];
public NPC_SKILL_SERVICE[] npc_skill_service_array = new NPC_SKILL_SERVICE[0];
public NPC_HEAL_SERVICE[] npc_heal_service_array = new NPC_HEAL_SERVICE[0];
public NPC_TRANSMIT_SERVICE[] npc_transmit_service_array = new NPC_TRANSMIT_SERVICE[0];
public NPC_TRANSPORT_SERVICE[] npc_transport_service_array = new NPC_TRANSPORT_SERVICE[0];
public NPC_PROXY_SERVICE[] npc_proxy_service_array = new NPC_PROXY_SERVICE[0];
public NPC_STORAGE_SERVICE[] npc_storage_service_array = new NPC_STORAGE_SERVICE[0];
public NPC_MAKE_SERVICE[] npc_make_service_array = new NPC_MAKE_SERVICE[0];
public NPC_DECOMPOSE_SERVICE[] npc_decompose_service_array = new NPC_DECOMPOSE_SERVICE[0];
public NPC_TYPE[] npc_type_array = new NPC_TYPE[0];
public NPC_ESSENCE[] npc_essence_array = new NPC_ESSENCE[0];
public talk_proc[] talk_proc_array = new talk_proc[0];
public FACE_TEXTURE_ESSENCE[] face_texture_essence_array = new FACE_TEXTURE_ESSENCE[0];
public FACE_SHAPE_ESSENCE[] face_shape_essence_array = new FACE_SHAPE_ESSENCE[0];
public FACE_EMOTION_TYPE[] face_emotion_type_array = new FACE_EMOTION_TYPE[0];
public FACE_EXPRESSION_ESSENCE[] face_expression_essence_array = new FACE_EXPRESSION_ESSENCE[0];
public FACE_HAIR_ESSENCE[] face_hair_essence_array = new FACE_HAIR_ESSENCE[0];
public FACE_MOUSTACHE_ESSENCE[] face_moustache_essence_array = new FACE_MOUSTACHE_ESSENCE[0];
public COLORPICKER_ESSENCE[] colorpicker_essence_array = new COLORPICKER_ESSENCE[0];
public CUSTOMIZEDATA_ESSENCE[] customizedata_essence_array = new CUSTOMIZEDATA_ESSENCE[0];
public RECIPE_MAJOR_TYPE[] recipe_major_type_array = new RECIPE_MAJOR_TYPE[0];
public RECIPE_SUB_TYPE[] recipe_sub_type_array = new RECIPE_SUB_TYPE[0];
public RECIPE_ESSENCE[] recipe_essence_array = new RECIPE_ESSENCE[0];
public ENEMY_FACTION_CONFIG[] enemy_faction_config_array = new ENEMY_FACTION_CONFIG[0];
public CHARACTER_CLASS_CONFIG[] character_class_config_array = new CHARACTER_CLASS_CONFIG[0];
public PARAM_ADJUST_CONFIG[] param_adjust_config_array = new PARAM_ADJUST_CONFIG[0];
public PLAYER_ACTION_INFO_CONFIG[] player_action_info_config_array = new PLAYER_ACTION_INFO_CONFIG[0];
public TASKDICE_ESSENCE[] taskdice_essence_array = new TASKDICE_ESSENCE[0];
public TASKNORMALMATTER_ESSENCE[] tasknormalmatter_essence_array = new TASKNORMALMATTER_ESSENCE[0];
public FACE_FALING_ESSENCE[] face_faling_essence_array = new FACE_FALING_ESSENCE[0];
public PLAYER_LEVELEXP_CONFIG[] player_levelexp_config_array = new PLAYER_LEVELEXP_CONFIG[0];
public MINE_TYPE[] mine_type_array = new MINE_TYPE[0];
public MINE_ESSENCE[] mine_essence_array = new MINE_ESSENCE[0];
public NPC_IDENTIFY_SERVICE[] npc_identify_service_array = new NPC_IDENTIFY_SERVICE[0];
public FASHION_MAJOR_TYPE[] fashion_major_type_array = new FASHION_MAJOR_TYPE[0];
public FASHION_SUB_TYPE[] fashion_sub_type_array = new FASHION_SUB_TYPE[0];
public FASHION_ESSENCE[] fashion_essence_array = new FASHION_ESSENCE[0];
public FACETICKET_MAJOR_TYPE[] faceticket_major_type_array = new FACETICKET_MAJOR_TYPE[0];
public FACETICKET_SUB_TYPE[] faceticket_sub_type_array = new FACETICKET_SUB_TYPE[0];
public FACETICKET_ESSENCE[] faceticket_essence_array = new FACETICKET_ESSENCE[0];
public FACEPILL_MAJOR_TYPE[] facepill_major_type_array = new FACEPILL_MAJOR_TYPE[0];
public FACEPILL_SUB_TYPE[] facepill_sub_type_array = new FACEPILL_SUB_TYPE[0];
public FACEPILL_ESSENCE[] facepill_essence_array = new FACEPILL_ESSENCE[0];
public SUITE_ESSENCE[] suite_essence_array = new SUITE_ESSENCE[0];
public GM_GENERATOR_TYPE[] gm_generator_type_array = new GM_GENERATOR_TYPE[0];
public GM_GENERATOR_ESSENCE[] gm_generator_essence_array = new GM_GENERATOR_ESSENCE[0];
public PET_TYPE[] pet_type_array = new PET_TYPE[0];
public PET_ESSENCE[] pet_essence_array = new PET_ESSENCE[0];
public PET_EGG_ESSENCE[] pet_egg_essence_array = new PET_EGG_ESSENCE[0];
public PET_FOOD_ESSENCE[] pet_food_essence_array = new PET_FOOD_ESSENCE[0];
public PET_FACETICKET_ESSENCE[] pet_faceticket_essence_array = new PET_FACETICKET_ESSENCE[0];
public FIREWORKS_ESSENCE[] fireworks_essence_array = new FIREWORKS_ESSENCE[0];
public WAR_TANKCALLIN_ESSENCE[] war_tankcallin_essence_array = new WAR_TANKCALLIN_ESSENCE[0];
public NPC_WAR_TOWERBUILD_SERVICE[] npc_war_towerbuild_service_array = new NPC_WAR_TOWERBUILD_SERVICE[0];
public PLAYER_SECONDLEVEL_CONFIG[] player_secondlevel_config_array = new PLAYER_SECONDLEVEL_CONFIG[0];
public NPC_RESETPROP_SERVICE[] npc_resetprop_service_array = new NPC_RESETPROP_SERVICE[0];
public NPC_PETNAME_SERVICE[] npc_petname_service_array = new NPC_PETNAME_SERVICE[0];
public NPC_PETLEARNSKILL_SERVICE[] npc_petlearnskill_service_array = new NPC_PETLEARNSKILL_SERVICE[0];
public NPC_PETFORGETSKILL_SERVICE[] npc_petforgetskill_service_array = new NPC_PETFORGETSKILL_SERVICE[0];
public SKILLMATTER_ESSENCE[] skillmatter_essence_array = new SKILLMATTER_ESSENCE[0];
public REFINE_TICKET_ESSENCE[] refine_ticket_essence_array = new REFINE_TICKET_ESSENCE[0];
public DESTROYING_ESSENCE[] destroying_essence_array = new DESTROYING_ESSENCE[0];
public NPC_EQUIPBIND_SERVICE[] npc_equipbind_service_array = new NPC_EQUIPBIND_SERVICE[0];
public NPC_EQUIPDESTROY_SERVICE[] npc_equipdestroy_service_array = new NPC_EQUIPDESTROY_SERVICE[0];
public NPC_EQUIPUNDESTROY_SERVICE[] npc_equipundestroy_service_array = new NPC_EQUIPUNDESTROY_SERVICE[0];
public BIBLE_ESSENCE[] bible_essence_array = new BIBLE_ESSENCE[0];
public SPEAKER_ESSENCE[] speaker_essence_array = new SPEAKER_ESSENCE[0];
public AUTOMP_ESSENCE[] automp_essence_array = new AUTOMP_ESSENCE[0];
public AUTOHP_ESSENCE[] autohp_essence_array = new AUTOHP_ESSENCE[0];
public DOUBLE_EXP_ESSENCE[] double_exp_essence_array = new DOUBLE_EXP_ESSENCE[0];
public TRANSMITSCROLL_ESSENCE[] transmitscroll_essence_array = new TRANSMITSCROLL_ESSENCE[0];
public DYE_TICKET_ESSENCE[] dye_ticket_essence_array = new DYE_TICKET_ESSENCE[0];
public GOBLIN_ESSENCE[] goblin_essence_array = new GOBLIN_ESSENCE[0];
public GOBLIN_EQUIP_TYPE[] goblin_equip_type_array = new GOBLIN_EQUIP_TYPE[0];
public GOBLIN_EQUIP_ESSENCE[] goblin_equip_essence_array = new GOBLIN_EQUIP_ESSENCE[0];
public GOBLIN_EXPPILL_ESSENCE[] goblin_exppill_essence_array = new GOBLIN_EXPPILL_ESSENCE[0];
public SELL_CERTIFICATE_ESSENCE[] sell_certificate_essence_array = new SELL_CERTIFICATE_ESSENCE[0];
public TARGET_ITEM_ESSENCE[] target_item_essence_array = new TARGET_ITEM_ESSENCE[0];
public LOOK_INFO_ESSENCE[] look_info_essence_array = new LOOK_INFO_ESSENCE[0];
public UPGRADE_PRODUCTION_CONFIG[] upgrade_production_config_array = new UPGRADE_PRODUCTION_CONFIG[0];
public ACC_STORAGE_BLACKLIST_CONFIG[] acc_storage_blacklist_config_array = new ACC_STORAGE_BLACKLIST_CONFIG[0];
public FACE_HAIR_TEXTURE_MAP[] face_hair_texture_map_array = new FACE_HAIR_TEXTURE_MAP[0];
public MULTI_EXP_CONFIG[] multi_exp_config_array = new MULTI_EXP_CONFIG[0];
public INC_SKILL_ABILITY_ESSENCE[] inc_skill_ability_essence_array = new INC_SKILL_ABILITY_ESSENCE[0];
public GOD_EVIL_CONVERT_CONFIG[] god_evil_convert_config_array = new GOD_EVIL_CONVERT_CONFIG[0];
public WEDDING_CONFIG[] wedding_config_array = new WEDDING_CONFIG[0];
public WEDDING_BOOKCARD_ESSENCE[] wedding_bookcard_essence_array = new WEDDING_BOOKCARD_ESSENCE[0];
public WEDDING_INVITECARD_ESSENCE[] wedding_invitecard_essence_array = new WEDDING_INVITECARD_ESSENCE[0];
public SHARPENER_ESSENCE[] sharpener_essence_array = new SHARPENER_ESSENCE[0];
public FACE_THIRDEYE_ESSENCE[] face_thirdeye_essence_array = new FACE_THIRDEYE_ESSENCE[0];
public FACTION_FORTRESS_CONFIG[] faction_fortress_config_array = new FACTION_FORTRESS_CONFIG[0];
public FACTION_BUILDING_SUB_TYPE[] faction_building_sub_type_array = new FACTION_BUILDING_SUB_TYPE[0];
public FACTION_BUILDING_ESSENCE[] faction_building_essence_array = new FACTION_BUILDING_ESSENCE[0];
public FACTION_MATERIAL_ESSENCE[] faction_material_essence_array = new FACTION_MATERIAL_ESSENCE[0];
public CONGREGATE_ESSENCE[] congregate_essence_array = new CONGREGATE_ESSENCE[0];
public ENGRAVE_MAJOR_TYPE[] engrave_major_type_array = new ENGRAVE_MAJOR_TYPE[0];
public ENGRAVE_SUB_TYPE[] engrave_sub_type_array = new ENGRAVE_SUB_TYPE[0];
public ENGRAVE_ESSENCE[] engrave_essence_array = new ENGRAVE_ESSENCE[0];
public NPC_ENGRAVE_SERVICE[] npc_engrave_service_array = new NPC_ENGRAVE_SERVICE[0];
public NPC_RANDPROP_SERVICE[] npc_randprop_service_array = new NPC_RANDPROP_SERVICE[0];
public RANDPROP_TYPE[] randprop_type_array = new RANDPROP_TYPE[0];
public RANDPROP_ESSENCE[] randprop_essence_array = new RANDPROP_ESSENCE[0];
public WIKI_TABOO_CONFIG[] wiki_taboo_config_array = new WIKI_TABOO_CONFIG[0];
public FORCE_CONFIG[] force_config_array = new FORCE_CONFIG[0];
public FORCE_TOKEN_ESSENCE[] force_token_essence_array = new FORCE_TOKEN_ESSENCE[0];
public NPC_FORCE_SERVICE[] npc_force_service_array = new NPC_FORCE_SERVICE[0];
public PLAYER_DEATH_DROP_CONFIG[] player_death_drop_config_array = new PLAYER_DEATH_DROP_CONFIG[0];
public DYNSKILLEQUIP_ESSENCE[] dynskillequip_essence_array = new DYNSKILLEQUIP_ESSENCE[0];
public CONSUME_POINTS_CONFIG[] consume_points_config_array = new CONSUME_POINTS_CONFIG[0];
public ONLINE_AWARDS_CONFIG[] online_awards_config_array = new ONLINE_AWARDS_CONFIG[0];
public COUNTRY_CONFIG[] country_config_array = new COUNTRY_CONFIG[0];
public GM_ACTIVITY_CONFIG[] gm_activity_config_array = new GM_ACTIVITY_CONFIG[0];
public FASHION_WEAPON_CONFIG[] fashion_weapon_config_array = new FASHION_WEAPON_CONFIG[0];
public PET_EVOLVE_CONFIG[] pet_evolve_config_array = new PET_EVOLVE_CONFIG[0];
public PET_EVOLVED_SKILL_CONFIG[] pet_evolved_skill_config_array = new PET_EVOLVED_SKILL_CONFIG[0];
public MONEY_CONVERTIBLE_ESSENCE[] money_convertible_essence_array = new MONEY_CONVERTIBLE_ESSENCE[0];
public STONE_CHANGE_RECIPE_TYPE[] stone_change_recipe_type_array = new STONE_CHANGE_RECIPE_TYPE[0];
public STONE_CHANGE_RECIPE[] stone_change_recipe_array = new STONE_CHANGE_RECIPE[0];
public MERIDIAN_CONFIG[] meridian_config_array = new MERIDIAN_CONFIG[0];
public PET_EVOLVED_SKILL_RAND_CONFIG[] pet_evolved_skill_rand_config_array = new PET_EVOLVED_SKILL_RAND_CONFIG[0];
public AUTOTASK_DISPLAY_CONFIG[] autotask_display_config_array = new AUTOTASK_DISPLAY_CONFIG[0];
public TOUCH_SHOP_CONFIG[] touch_shop_config_array = new TOUCH_SHOP_CONFIG[0];
public TITLE_CONFIG[] title_config_array = new TITLE_CONFIG[0];
public COMPLEX_TITLE_CONFIG[] complex_title_config_array = new COMPLEX_TITLE_CONFIG[0];
public MONSTER_SPIRIT_ESSENCE[] monster_spirit_essence_array = new MONSTER_SPIRIT_ESSENCE[0];
public PLAYER_SPIRIT_CONFIG[] player_spirit_config_array = new PLAYER_SPIRIT_CONFIG[0];
public PLAYER_REINCARNATION_CONFIG[] player_reincarnation_config_array = new PLAYER_REINCARNATION_CONFIG[0];
public HISTORY_STAGE_CONFIG[] history_stage_config_array = new HISTORY_STAGE_CONFIG[0];
public HISTORY_ADVANCE_CONFIG[] history_advance_config_array = new HISTORY_ADVANCE_CONFIG[0];
public AUTOTEAM_CONFIG[] autoteam_config_array = new AUTOTEAM_CONFIG[0];
public PLAYER_REALM_CONFIG[] player_realm_config_array = new PLAYER_REALM_CONFIG[0];
public CHARIOT_CONFIG[] chariot_config_array = new CHARIOT_CONFIG[0];
public CHARIOT_WAR_CONFIG[] chariot_war_config_array = new CHARIOT_WAR_CONFIG[0];
public POKER_LEVELEXP_CONFIG[] poker_levelexp_config_array = new POKER_LEVELEXP_CONFIG[0];
public POKER_SUITE_ESSENCE[] poker_suite_essence_array = new POKER_SUITE_ESSENCE[0];
public POKER_DICE_ESSENCE[] poker_dice_essence_array = new POKER_DICE_ESSENCE[0];
public POKER_SUB_TYPE[] poker_sub_type_array = new POKER_SUB_TYPE[0];
public POKER_ESSENCE[] poker_essence_array = new POKER_ESSENCE[0];
public TOKEN_SHOP_CONFIG[] token_shop_config_array = new TOKEN_SHOP_CONFIG[0];
public SHOP_TOKEN_ESSENCE[] shop_token_essence_array = new SHOP_TOKEN_ESSENCE[0];
public GT_CONFIG[] gt_config_array = new GT_CONFIG[0];
public RAND_SHOP_CONFIG[] rand_shop_config_array = new RAND_SHOP_CONFIG[0];
public PROFIT_TIME_CONFIG[] profit_time_config_array = new PROFIT_TIME_CONFIG[0];
public FACTION_PVP_CONFIG[] faction_pvp_config_array = new FACTION_PVP_CONFIG[0];
public UNIVERSAL_TOKEN_ESSENCE[] universal_token_essence_array = new UNIVERSAL_TOKEN_ESSENCE[0];
public TASK_LIST_CONFIG[] task_list_config_array = new TASK_LIST_CONFIG[0];
public TASK_DICE_BY_WEIGHT_CONFIG[] task_dice_by_weight_config_array = new TASK_DICE_BY_WEIGHT_CONFIG[0];
public FASHION_SUITE_ESSENCE[] fashion_suite_essence_array = new FASHION_SUITE_ESSENCE[0];
public FASHION_BEST_COLOR_CONFIG[] fashion_best_color_config_array = new FASHION_BEST_COLOR_CONFIG[0];
public SIGN_AWARD_CONFIG[] sign_award_config_array = new SIGN_AWARD_CONFIG[0];
#endregion
public async Task<bool> MoveElementFileToPersistentPath()
{
var destinationPath = Path.Combine(UnityEngine.Application.persistentDataPath, "elements.data");
var sourcePath = Path.Combine(UnityEngine.Application.streamingAssetsPath, "elements.data");
if (File.Exists(destinationPath))
{
return true;
}
UnityWebRequest request = UnityWebRequest.Get(sourcePath);
await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success)
{
BMLogger.LogError($"ElementDataMan: Failed to move element file to persistent path: {request.error}");
return false;
}
File.WriteAllBytes(destinationPath, request.downloadHandler.data);
BMLogger.Log($"ElementDataMan: Successfully moved element file to persistent path: {destinationPath}");
return true;
}
public async UniTask<int> load_data(string pathname = "")
{
// #if UNITY_ANDROID && !UNITY_EDITOR
// var success = await MoveElementFileToPersistentPath();
// if (!success)
// {
// BMLogger.LogError("ElementDataMan: Failed to move element file to persistent path");
// return -1;
// }
// pathname = Path.Combine(UnityEngine.Application.persistentDataPath, "elements.data");
// #endif
// if (string.IsNullOrEmpty(pathname))
// {
// pathname = Path.Combine(UnityEngine.Application.streamingAssetsPath, "elements.data");
// }
// if (!File.Exists(pathname)) return -1;
// Addressables key must match the configured "Address". This repo currently uses full asset paths
// (see `Assets/AddressableAssetsData/AssetGroups/configuration.asset`).
// `AddressableManager.LoadTextAssetAsync` also has fallbacks, so "elements.txt" will work too.
var dataFile = await AddressableManager.Instance.LoadTextAssetAsync("Assets/Addressable/elements.txt");
if (dataFile == null)
{
BMLogger.LogError("ElementDataMan: Failed to load Addressable TextAsset for elements data.");
return -1;
}
using (var file = new MemoryStream(dataFile.bytes))
{
long dwRead = 0;
int version = AAssit.GetIntFromFileStream(file, ref dwRead);
if (version != 805306495)
{
BMLogger.LogError("ERROR:: File version mismatch");
return -1;
}
//time_t
long t = AAssit.GetIntFromFileStream(file, ref dwRead);
// if(equipment_addon_array.load(file) != 0) return -1;
equipment_addon_array = AAssit.ReadArrayPointerFromBinary<EQUIPMENT_ADDON>(file, ref dwRead);
// if(weapon_major_type_array.load(file) != 0) return -1;
weapon_major_type_array = AAssit.ReadArrayPointerFromBinary<WEAPON_MAJOR_TYPE>(file, ref dwRead);
// if(weapon_sub_type_array.load(file) != 0) return -1;
weapon_sub_type_array = AAssit.ReadArrayPointerFromBinary<WEAPON_SUB_TYPE>(file, ref dwRead);
// if(weapon_essence_array.load(file) != 0) return -1;
weapon_essence_array = AAssit.ReadArrayPointerFromBinary<WEAPON_ESSENCE>(file, ref dwRead);
// if(armor_major_type_array.load(file) != 0) return -1;
armor_major_type_array = AAssit.ReadArrayPointerFromBinary<ARMOR_MAJOR_TYPE>(file, ref dwRead);
// if(armor_sub_type_array.load(file) != 0) return -1;
armor_sub_type_array = AAssit.ReadArrayPointerFromBinary<ARMOR_SUB_TYPE>(file, ref dwRead);
// if(armor_essence_array.load(file) != 0) return -1;
armor_essence_array = AAssit.ReadArrayPointerFromBinary<ARMOR_ESSENCE>(file, ref dwRead);
// if(decoration_major_type_array.load(file) != 0) return -1;
decoration_major_type_array = AAssit.ReadArrayPointerFromBinary<DECORATION_MAJOR_TYPE>(file, ref dwRead);
// if(decoration_sub_type_array.load(file) != 0) return -1;
decoration_sub_type_array = AAssit.ReadArrayPointerFromBinary<DECORATION_SUB_TYPE>(file, ref dwRead);
// if(decoration_essence_array.load(file) != 0) return -1;
decoration_essence_array = AAssit.ReadArrayPointerFromBinary<DECORATION_ESSENCE>(file, ref dwRead);
medicine_major_type_array = AAssit.ReadArrayPointerFromBinary<MEDICINE_MAJOR_TYPE>(file, ref dwRead);
medicine_sub_type_array = AAssit.ReadArrayPointerFromBinary<MEDICINE_SUB_TYPE>(file, ref dwRead);
medicine_essence_array = AAssit.ReadArrayPointerFromBinary<MEDICINE_ESSENCE>(file, ref dwRead);
material_major_type_array = AAssit.ReadArrayPointerFromBinary<MATERIAL_MAJOR_TYPE>(file, ref dwRead);
material_sub_type_array = AAssit.ReadArrayPointerFromBinary<MATERIAL_SUB_TYPE>(file, ref dwRead);
material_essence_array = AAssit.ReadArrayPointerFromBinary<MATERIAL_ESSENCE>(file, ref dwRead);
damagerune_sub_type_array = AAssit.ReadArrayPointerFromBinary<DAMAGERUNE_SUB_TYPE>(file, ref dwRead);
damagerune_essence_array = AAssit.ReadArrayPointerFromBinary<DAMAGERUNE_ESSENCE>(file, ref dwRead);
armorrune_sub_type_array = AAssit.ReadArrayPointerFromBinary<ARMORRUNE_SUB_TYPE>(file, ref dwRead);
armorrune_essence_array = AAssit.ReadArrayPointerFromBinary<ARMORRUNE_ESSENCE>(file, ref dwRead);
// skip the computer's name of the exporter
int tag = AAssit.GetIntFromFileStream(file, ref dwRead);
AAssit.ReadString(file, ref dwRead, out var result);
t = AAssit.GetIntFromFileStream(file, ref dwRead);
skilltome_sub_type_array = AAssit.ReadArrayPointerFromBinary<SKILLTOME_SUB_TYPE>(file, ref dwRead);
skilltome_essence_array = AAssit.ReadArrayPointerFromBinary<SKILLTOME_ESSENCE>(file, ref dwRead);
flysword_essence_array = AAssit.ReadArrayPointerFromBinary<FLYSWORD_ESSENCE>(file, ref dwRead);
wingmanwing_essence_array = AAssit.ReadArrayPointerFromBinary<WINGMANWING_ESSENCE>(file, ref dwRead);
townscroll_essence_array = AAssit.ReadArrayPointerFromBinary<TOWNSCROLL_ESSENCE>(file, ref dwRead);
unionscroll_essence_array = AAssit.ReadArrayPointerFromBinary<UNIONSCROLL_ESSENCE>(file, ref dwRead);
revivescroll_essence_array = AAssit.ReadArrayPointerFromBinary<REVIVESCROLL_ESSENCE>(file, ref dwRead);
element_essence_array = AAssit.ReadArrayPointerFromBinary<ELEMENT_ESSENCE>(file, ref dwRead);
taskmatter_essence_array = AAssit.ReadArrayPointerFromBinary<TASKMATTER_ESSENCE>(file, ref dwRead);
tossmatter_essence_array = AAssit.ReadArrayPointerFromBinary<TOSSMATTER_ESSENCE>(file, ref dwRead);
projectile_type_array = AAssit.ReadArrayPointerFromBinary<PROJECTILE_TYPE>(file, ref dwRead);
projectile_essence_array = AAssit.ReadArrayPointerFromBinary<PROJECTILE_ESSENCE>(file, ref dwRead);
quiver_sub_type_array = AAssit.ReadArrayPointerFromBinary<QUIVER_SUB_TYPE>(file, ref dwRead);
quiver_essence_array = AAssit.ReadArrayPointerFromBinary<QUIVER_ESSENCE>(file, ref dwRead);
stone_sub_type_array = AAssit.ReadArrayPointerFromBinary<STONE_SUB_TYPE>(file, ref dwRead);
stone_essence_array = AAssit.ReadArrayPointerFromBinary<STONE_ESSENCE>(file, ref dwRead);
monster_addon_array = AAssit.ReadArrayPointerFromBinary<MONSTER_ADDON>(file, ref dwRead);
monster_type_array = AAssit.ReadArrayPointerFromBinary<MONSTER_TYPE>(file, ref dwRead);
monster_essence_array = AAssit.ReadArrayPointerFromBinary<MONSTER_ESSENCE>(file, ref dwRead);
npc_talk_service_array = AAssit.ReadArrayPointerFromBinary<NPC_TALK_SERVICE>(file, ref dwRead);
npc_sell_service_array = AAssit.ReadArrayPointerFromBinary<NPC_SELL_SERVICE>(file, ref dwRead);
npc_buy_service_array = AAssit.ReadArrayPointerFromBinary<NPC_BUY_SERVICE>(file, ref dwRead);
npc_repair_service_array = AAssit.ReadArrayPointerFromBinary<NPC_REPAIR_SERVICE>(file, ref dwRead);
npc_install_service_array = AAssit.ReadArrayPointerFromBinary<NPC_INSTALL_SERVICE>(file, ref dwRead);
npc_uninstall_service_array = AAssit.ReadArrayPointerFromBinary<NPC_UNINSTALL_SERVICE>(file, ref dwRead);
npc_task_in_service_array = AAssit.ReadArrayPointerFromBinary<NPC_TASK_IN_SERVICE>(file, ref dwRead);
npc_task_out_service_array = AAssit.ReadArrayPointerFromBinary<NPC_TASK_OUT_SERVICE>(file, ref dwRead);
npc_task_matter_service_array = AAssit.ReadArrayPointerFromBinary<NPC_TASK_MATTER_SERVICE>(file, ref dwRead);
npc_skill_service_array = AAssit.ReadArrayPointerFromBinary<NPC_SKILL_SERVICE>(file, ref dwRead);
npc_heal_service_array = AAssit.ReadArrayPointerFromBinary<NPC_HEAL_SERVICE>(file, ref dwRead);
npc_transmit_service_array = AAssit.ReadArrayPointerFromBinary<NPC_TRANSMIT_SERVICE>(file, ref dwRead);
npc_transport_service_array = AAssit.ReadArrayPointerFromBinary<NPC_TRANSPORT_SERVICE>(file, ref dwRead);
npc_proxy_service_array = AAssit.ReadArrayPointerFromBinary<NPC_PROXY_SERVICE>(file, ref dwRead);
npc_storage_service_array = AAssit.ReadArrayPointerFromBinary<NPC_STORAGE_SERVICE>(file, ref dwRead);
npc_make_service_array = AAssit.ReadArrayPointerFromBinary<NPC_MAKE_SERVICE>(file, ref dwRead);
npc_decompose_service_array = AAssit.ReadArrayPointerFromBinary<NPC_DECOMPOSE_SERVICE>(file, ref dwRead);
npc_type_array = AAssit.ReadArrayPointerFromBinary<NPC_TYPE>(file, ref dwRead);
npc_essence_array = AAssit.ReadArrayPointerFromBinary<NPC_ESSENCE>(file, ref dwRead);
uint sz = AAssit.GetUIntFromFileStream(file, ref dwRead);
if (sz <= 0) return -1;
talk_proc_array = new talk_proc[sz];
for (int i = 0; i < sz; i++)
{
talk_proc tp = new talk_proc();
tp.Read(file);
talk_proc_array[i] = tp;
}
face_texture_essence_array = AAssit.ReadArrayPointerFromBinary<FACE_TEXTURE_ESSENCE>(file, ref dwRead);
face_shape_essence_array = AAssit.ReadArrayPointerFromBinary<FACE_SHAPE_ESSENCE>(file, ref dwRead);
face_emotion_type_array = AAssit.ReadArrayPointerFromBinary<FACE_EMOTION_TYPE>(file, ref dwRead);
face_expression_essence_array = AAssit.ReadArrayPointerFromBinary<FACE_EXPRESSION_ESSENCE>(file, ref dwRead);
face_hair_essence_array = AAssit.ReadArrayPointerFromBinary<FACE_HAIR_ESSENCE>(file, ref dwRead);
face_moustache_essence_array = AAssit.ReadArrayPointerFromBinary<FACE_MOUSTACHE_ESSENCE>(file, ref dwRead);
colorpicker_essence_array = AAssit.ReadArrayPointerFromBinary<COLORPICKER_ESSENCE>(file, ref dwRead);
customizedata_essence_array = AAssit.ReadArrayPointerFromBinary<CUSTOMIZEDATA_ESSENCE>(file, ref dwRead);
recipe_major_type_array = AAssit.ReadArrayPointerFromBinary<RECIPE_MAJOR_TYPE>(file, ref dwRead);
recipe_sub_type_array = AAssit.ReadArrayPointerFromBinary<RECIPE_SUB_TYPE>(file, ref dwRead);
recipe_essence_array = AAssit.ReadArrayPointerFromBinary<RECIPE_ESSENCE>(file, ref dwRead);
enemy_faction_config_array = AAssit.ReadArrayPointerFromBinary<ENEMY_FACTION_CONFIG>(file, ref dwRead);
character_class_config_array = AAssit.ReadArrayPointerFromBinary<CHARACTER_CLASS_CONFIG>(file, ref dwRead);
param_adjust_config_array = AAssit.ReadArrayPointerFromBinary<PARAM_ADJUST_CONFIG>(file, ref dwRead);
player_action_info_config_array = AAssit.ReadArrayPointerFromBinary<PLAYER_ACTION_INFO_CONFIG>(file, ref dwRead);
taskdice_essence_array = AAssit.ReadArrayPointerFromBinary<TASKDICE_ESSENCE>(file, ref dwRead);
tasknormalmatter_essence_array = AAssit.ReadArrayPointerFromBinary<TASKNORMALMATTER_ESSENCE>(file, ref dwRead);
face_faling_essence_array = AAssit.ReadArrayPointerFromBinary<FACE_FALING_ESSENCE>(file, ref dwRead);
player_levelexp_config_array = AAssit.ReadArrayPointerFromBinary<PLAYER_LEVELEXP_CONFIG>(file, ref dwRead);
mine_type_array = AAssit.ReadArrayPointerFromBinary<MINE_TYPE>(file, ref dwRead);
mine_essence_array = AAssit.ReadArrayPointerFromBinary<MINE_ESSENCE>(file, ref dwRead);
npc_identify_service_array = AAssit.ReadArrayPointerFromBinary<NPC_IDENTIFY_SERVICE>(file, ref dwRead);
fashion_major_type_array = AAssit.ReadArrayPointerFromBinary<FASHION_MAJOR_TYPE>(file, ref dwRead);
fashion_sub_type_array = AAssit.ReadArrayPointerFromBinary<FASHION_SUB_TYPE>(file, ref dwRead);
fashion_essence_array = AAssit.ReadArrayPointerFromBinary<FASHION_ESSENCE>(file, ref dwRead);
faceticket_major_type_array = AAssit.ReadArrayPointerFromBinary<FACETICKET_MAJOR_TYPE>(file, ref dwRead);
faceticket_sub_type_array = AAssit.ReadArrayPointerFromBinary<FACETICKET_SUB_TYPE>(file, ref dwRead);
faceticket_essence_array = AAssit.ReadArrayPointerFromBinary<FACETICKET_ESSENCE>(file, ref dwRead);
facepill_major_type_array = AAssit.ReadArrayPointerFromBinary<FACEPILL_MAJOR_TYPE>(file, ref dwRead);
facepill_sub_type_array = AAssit.ReadArrayPointerFromBinary<FACEPILL_SUB_TYPE>(file, ref dwRead);
facepill_essence_array = AAssit.ReadArrayPointerFromBinary<FACEPILL_ESSENCE>(file, ref dwRead);
suite_essence_array = AAssit.ReadArrayPointerFromBinary<SUITE_ESSENCE>(file, ref dwRead);
gm_generator_type_array = AAssit.ReadArrayPointerFromBinary<GM_GENERATOR_TYPE>(file, ref dwRead);
gm_generator_essence_array = AAssit.ReadArrayPointerFromBinary<GM_GENERATOR_ESSENCE>(file, ref dwRead);
pet_type_array = AAssit.ReadArrayPointerFromBinary<PET_TYPE>(file, ref dwRead);
pet_essence_array = AAssit.ReadArrayPointerFromBinary<PET_ESSENCE>(file, ref dwRead);
pet_egg_essence_array = AAssit.ReadArrayPointerFromBinary<PET_EGG_ESSENCE>(file, ref dwRead);
pet_food_essence_array = AAssit.ReadArrayPointerFromBinary<PET_FOOD_ESSENCE>(file, ref dwRead);
pet_faceticket_essence_array = AAssit.ReadArrayPointerFromBinary<PET_FACETICKET_ESSENCE>(file, ref dwRead);
fireworks_essence_array = AAssit.ReadArrayPointerFromBinary<FIREWORKS_ESSENCE>(file, ref dwRead);
war_tankcallin_essence_array = AAssit.ReadArrayPointerFromBinary<WAR_TANKCALLIN_ESSENCE>(file, ref dwRead);
tag = AAssit.GetIntFromFileStream(file, ref dwRead);
AAssit.ReadString(file, ref dwRead, out result);
npc_war_towerbuild_service_array = AAssit.ReadArrayPointerFromBinary<NPC_WAR_TOWERBUILD_SERVICE>(file, ref dwRead);
player_secondlevel_config_array = AAssit.ReadArrayPointerFromBinary<PLAYER_SECONDLEVEL_CONFIG>(file, ref dwRead);
npc_resetprop_service_array = AAssit.ReadArrayPointerFromBinary<NPC_RESETPROP_SERVICE>(file, ref dwRead);
npc_petname_service_array = AAssit.ReadArrayPointerFromBinary<NPC_PETNAME_SERVICE>(file, ref dwRead);
npc_petlearnskill_service_array = AAssit.ReadArrayPointerFromBinary<NPC_PETLEARNSKILL_SERVICE>(file, ref dwRead);
npc_petforgetskill_service_array = AAssit.ReadArrayPointerFromBinary<NPC_PETFORGETSKILL_SERVICE>(file, ref dwRead);
skillmatter_essence_array = AAssit.ReadArrayPointerFromBinary<SKILLMATTER_ESSENCE>(file, ref dwRead);
refine_ticket_essence_array = AAssit.ReadArrayPointerFromBinary<REFINE_TICKET_ESSENCE>(file, ref dwRead);
destroying_essence_array = AAssit.ReadArrayPointerFromBinary<DESTROYING_ESSENCE>(file, ref dwRead);
npc_equipbind_service_array = AAssit.ReadArrayPointerFromBinary<NPC_EQUIPBIND_SERVICE>(file, ref dwRead);
npc_equipdestroy_service_array = AAssit.ReadArrayPointerFromBinary<NPC_EQUIPDESTROY_SERVICE>(file, ref dwRead);
npc_equipundestroy_service_array = AAssit.ReadArrayPointerFromBinary<NPC_EQUIPUNDESTROY_SERVICE>(file, ref dwRead);
bible_essence_array = AAssit.ReadArrayPointerFromBinary<BIBLE_ESSENCE>(file, ref dwRead);
speaker_essence_array = AAssit.ReadArrayPointerFromBinary<SPEAKER_ESSENCE>(file, ref dwRead);
autohp_essence_array = AAssit.ReadArrayPointerFromBinary<AUTOHP_ESSENCE>(file, ref dwRead);
automp_essence_array = AAssit.ReadArrayPointerFromBinary<AUTOMP_ESSENCE>(file, ref dwRead);
double_exp_essence_array = AAssit.ReadArrayPointerFromBinary<DOUBLE_EXP_ESSENCE>(file, ref dwRead);
transmitscroll_essence_array = AAssit.ReadArrayPointerFromBinary<TRANSMITSCROLL_ESSENCE>(file, ref dwRead);
dye_ticket_essence_array = AAssit.ReadArrayPointerFromBinary<DYE_TICKET_ESSENCE>(file, ref dwRead);
goblin_essence_array = AAssit.ReadArrayPointerFromBinary<GOBLIN_ESSENCE>(file, ref dwRead);
goblin_equip_type_array = AAssit.ReadArrayPointerFromBinary<GOBLIN_EQUIP_TYPE>(file, ref dwRead);
goblin_equip_essence_array = AAssit.ReadArrayPointerFromBinary<GOBLIN_EQUIP_ESSENCE>(file, ref dwRead);
goblin_exppill_essence_array = AAssit.ReadArrayPointerFromBinary<GOBLIN_EXPPILL_ESSENCE>(file, ref dwRead);
sell_certificate_essence_array = AAssit.ReadArrayPointerFromBinary<SELL_CERTIFICATE_ESSENCE>(file, ref dwRead);
// target_item_essence_array = AAssit.ReadArrayFromBinary<TARGET_ITEM_ESSENCE>(file, ref dwRead);
// look_info_essence_array = AAssit.ReadArrayFromBinary<LOOK_INFO_ESSENCE>(file, ref dwRead);
// upgrade_production_config_array = AAssit.ReadArrayFromBinary<UPGRADE_PRODUCTION_CONFIG>(file, ref dwRead);
// acc_storage_blacklist_config_array = AAssit.ReadArrayFromBinary<ACC_STORAGE_BLACKLIST_CONFIG>(file, ref dwRead);
// face_hair_texture_map_array = AAssit.ReadArrayFromBinary<FACE_HAIR_TEXTURE_MAP>(file, ref dwRead);
//
// multi_exp_config_array = AAssit.ReadArrayFromBinary<MULTI_EXP_CONFIG>(file, ref dwRead);
// inc_skill_ability_essence_array = AAssit.ReadArrayFromBinary<INC_SKILL_ABILITY_ESSENCE>(file, ref dwRead);
// god_evil_convert_config_array = AAssit.ReadArrayFromBinary<GOD_EVIL_CONVERT_CONFIG>(file, ref dwRead);
// wedding_config_array = AAssit.ReadArrayFromBinary<WEDDING_CONFIG>(file, ref dwRead);
// wedding_bookcard_essence_array = AAssit.ReadArrayFromBinary<WEDDING_BOOKCARD_ESSENCE>(file, ref dwRead);
//
// wedding_invitecard_essence_array = AAssit.ReadArrayFromBinary<WEDDING_INVITECARD_ESSENCE>(file, ref dwRead);
// sharpener_essence_array = AAssit.ReadArrayFromBinary<SHARPENER_ESSENCE>(file, ref dwRead);
// face_thirdeye_essence_array = AAssit.ReadArrayFromBinary<FACE_THIRDEYE_ESSENCE>(file, ref dwRead);
// faction_fortress_config_array = AAssit.ReadArrayFromBinary<FACTION_FORTRESS_CONFIG>(file, ref dwRead);
// faction_building_sub_type_array = AAssit.ReadArrayFromBinary<FACTION_BUILDING_SUB_TYPE>(file, ref dwRead);
//
// faction_building_essence_array = AAssit.ReadArrayFromBinary<FACTION_BUILDING_ESSENCE>(file, ref dwRead);
// faction_material_essence_array = AAssit.ReadArrayFromBinary<FACTION_MATERIAL_ESSENCE>(file, ref dwRead);
// congregate_essence_array = AAssit.ReadArrayFromBinary<CONGREGATE_ESSENCE>(file, ref dwRead);
//
// engrave_major_type_array = AAssit.ReadArrayFromBinary<ENGRAVE_MAJOR_TYPE>(file, ref dwRead);
// engrave_sub_type_array = AAssit.ReadArrayFromBinary<ENGRAVE_SUB_TYPE>(file, ref dwRead);
// engrave_essence_array = AAssit.ReadArrayFromBinary<ENGRAVE_ESSENCE>(file, ref dwRead);
// npc_engrave_service_array = AAssit.ReadArrayFromBinary<NPC_ENGRAVE_SERVICE>(file, ref dwRead);
// npc_randprop_service_array = AAssit.ReadArrayFromBinary<NPC_RANDPROP_SERVICE>(file, ref dwRead);
//
// randprop_type_array = AAssit.ReadArrayFromBinary<RANDPROP_TYPE>(file, ref dwRead);
// randprop_essence_array = AAssit.ReadArrayFromBinary<RANDPROP_ESSENCE>(file, ref dwRead);
// wiki_taboo_config_array = AAssit.ReadArrayFromBinary<WIKI_TABOO_CONFIG>(file, ref dwRead);
// force_config_array = AAssit.ReadArrayFromBinary<FORCE_CONFIG>(file, ref dwRead);
// force_token_essence_array = AAssit.ReadArrayFromBinary<FORCE_TOKEN_ESSENCE>(file, ref dwRead);
//
// npc_force_service_array = AAssit.ReadArrayFromBinary<NPC_FORCE_SERVICE>(file, ref dwRead);
// player_death_drop_config_array = AAssit.ReadArrayFromBinary<PLAYER_DEATH_DROP_CONFIG>(file, ref dwRead);
// dynskillequip_essence_array = AAssit.ReadArrayFromBinary<DYNSKILLEQUIP_ESSENCE>(file, ref dwRead);
// consume_points_config_array = AAssit.ReadArrayFromBinary<CONSUME_POINTS_CONFIG>(file, ref dwRead);
// online_awards_config_array = AAssit.ReadArrayFromBinary<ONLINE_AWARDS_CONFIG>(file, ref dwRead);
//
// country_config_array = AAssit.ReadArrayFromBinary<COUNTRY_CONFIG>(file, ref dwRead);
// gm_activity_config_array = AAssit.ReadArrayFromBinary<GM_ACTIVITY_CONFIG>(file, ref dwRead);
// fashion_weapon_config_array = AAssit.ReadArrayFromBinary<FASHION_WEAPON_CONFIG>(file, ref dwRead);
// pet_evolve_config_array = AAssit.ReadArrayFromBinary<PET_EVOLVE_CONFIG>(file, ref dwRead);
// pet_evolved_skill_config_array = AAssit.ReadArrayFromBinary<PET_EVOLVED_SKILL_CONFIG>(file, ref dwRead);
//
// money_convertible_essence_array = AAssit.ReadArrayFromBinary<MONEY_CONVERTIBLE_ESSENCE>(file, ref dwRead);
// stone_change_recipe_type_array = AAssit.ReadArrayFromBinary<STONE_CHANGE_RECIPE_TYPE>(file, ref dwRead);
// stone_change_recipe_array = AAssit.ReadArrayFromBinary<STONE_CHANGE_RECIPE>(file, ref dwRead);
// meridian_config_array = AAssit.ReadArrayFromBinary<MERIDIAN_CONFIG>(file, ref dwRead);
// pet_evolved_skill_rand_config_array = AAssit.ReadArrayFromBinary<PET_EVOLVED_SKILL_RAND_CONFIG>(file, ref dwRead);
//
// autotask_display_config_array = AAssit.ReadArrayFromBinary<AUTOTASK_DISPLAY_CONFIG>(file, ref dwRead);
// touch_shop_config_array = AAssit.ReadArrayFromBinary<TOUCH_SHOP_CONFIG>(file, ref dwRead);
// title_config_array = AAssit.ReadArrayFromBinary<TITLE_CONFIG>(file, ref dwRead);
// complex_title_config_array = AAssit.ReadArrayFromBinary<COMPLEX_TITLE_CONFIG>(file, ref dwRead);
// monster_spirit_essence_array = AAssit.ReadArrayFromBinary<MONSTER_SPIRIT_ESSENCE>(file, ref dwRead);
//
// player_spirit_config_array = AAssit.ReadArrayFromBinary<PLAYER_SPIRIT_CONFIG>(file, ref dwRead);
// player_reincarnation_config_array = AAssit.ReadArrayFromBinary<PLAYER_REINCARNATION_CONFIG>(file, ref dwRead);
// history_stage_config_array = AAssit.ReadArrayFromBinary<HISTORY_STAGE_CONFIG>(file, ref dwRead);
// history_advance_config_array = AAssit.ReadArrayFromBinary<HISTORY_ADVANCE_CONFIG>(file, ref dwRead);
// autoteam_config_array = AAssit.ReadArrayFromBinary<AUTOTEAM_CONFIG>(file, ref dwRead);
//
// player_realm_config_array = AAssit.ReadArrayFromBinary<PLAYER_REALM_CONFIG>(file, ref dwRead);
// chariot_config_array = AAssit.ReadArrayFromBinary<CHARIOT_CONFIG>(file, ref dwRead);
// chariot_war_config_array = AAssit.ReadArrayFromBinary<CHARIOT_WAR_CONFIG>(file, ref dwRead);
// poker_levelexp_config_array = AAssit.ReadArrayFromBinary<POKER_LEVELEXP_CONFIG>(file, ref dwRead);
// poker_suite_essence_array = AAssit.ReadArrayFromBinary<POKER_SUITE_ESSENCE>(file, ref dwRead);
//
// poker_dice_essence_array = AAssit.ReadArrayFromBinary<POKER_DICE_ESSENCE>(file, ref dwRead);
// poker_sub_type_array = AAssit.ReadArrayFromBinary<POKER_SUB_TYPE>(file, ref dwRead);
// poker_essence_array = AAssit.ReadArrayFromBinary<POKER_ESSENCE>(file, ref dwRead);
// token_shop_config_array = AAssit.ReadArrayFromBinary<TOKEN_SHOP_CONFIG>(file, ref dwRead);
// shop_token_essence_array = AAssit.ReadArrayFromBinary<SHOP_TOKEN_ESSENCE>(file, ref dwRead);
//
// gt_config_array = AAssit.ReadArrayFromBinary<GT_CONFIG>(file, ref dwRead);
// rand_shop_config_array = AAssit.ReadArrayFromBinary<RAND_SHOP_CONFIG>(file, ref dwRead);
// profit_time_config_array = AAssit.ReadArrayFromBinary<PROFIT_TIME_CONFIG>(file, ref dwRead);
// faction_pvp_config_array = AAssit.ReadArrayFromBinary<FACTION_PVP_CONFIG>(file, ref dwRead);
// universal_token_essence_array = AAssit.ReadArrayFromBinary<UNIVERSAL_TOKEN_ESSENCE>(file, ref dwRead);
//
// task_list_config_array = AAssit.ReadArrayFromBinary<TASK_LIST_CONFIG>(file, ref dwRead);
// task_dice_by_weight_config_array = AAssit.ReadArrayFromBinary<TASK_DICE_BY_WEIGHT_CONFIG>(file, ref dwRead);
// fashion_suite_essence_array = AAssit.ReadArrayFromBinary<FASHION_SUITE_ESSENCE>(file, ref dwRead);
// fashion_best_color_config_array = AAssit.ReadArrayFromBinary<FASHION_BEST_COLOR_CONFIG>(file, ref dwRead);
// sign_award_config_array = AAssit.ReadArrayFromBinary<SIGN_AWARD_CONFIG>(file, ref dwRead);
}
SetupDataMap();
return 0;
}
public void SetupDataMap()
{
foreach (var item in equipment_addon_array)
{
add_id_index(ID_SPACE.ID_SPACE_ADDON, item.id, DATA_TYPE.DT_EQUIPMENT_ADDON);
add_id_data(ID_SPACE.ID_SPACE_ADDON, item.id, item);
}
foreach (var item in weapon_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_WEAPON_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in weapon_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_WEAPON_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in weapon_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_WEAPON_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Armor Types
foreach (var item in armor_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_ARMOR_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in armor_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_ARMOR_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in armor_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_ARMOR_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Decoration Types
foreach (var item in decoration_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DECORATION_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in decoration_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DECORATION_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in decoration_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DECORATION_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Medicine Types
foreach (var item in medicine_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MEDICINE_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in medicine_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MEDICINE_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in medicine_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MEDICINE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Material Types
foreach (var item in material_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MATERIAL_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in material_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MATERIAL_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in material_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MATERIAL_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Rune Types
foreach (var item in damagerune_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DAMAGERUNE_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in damagerune_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DAMAGERUNE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in armorrune_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_ARMORRUNE_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in armorrune_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_ARMORRUNE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Skill Tome Types
foreach (var item in skilltome_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_SKILLTOME_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in skilltome_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_SKILLTOME_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Special Items
foreach (var item in flysword_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FLYSWORD_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in wingmanwing_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_WINGMANWING_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in townscroll_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_TOWNSCROLL_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// foreach (var item in unionscroll_essence_array)
// {
// add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_UNIONSCROLL_ESSENCE);
// add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
// }
foreach (var item in revivescroll_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_REVIVESCROLL_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in element_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_ELEMENT_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in taskmatter_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_TASKMATTER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in tossmatter_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_TOSSMATTER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Projectile Types
foreach (var item in projectile_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PROJECTILE_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in projectile_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PROJECTILE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Quiver Types
foreach (var item in quiver_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_QUIVER_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in quiver_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_QUIVER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Stone Types
foreach (var item in stone_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_STONE_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in stone_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_STONE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Monster Types
foreach (var item in monster_addon_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MONSTER_ADDON);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in monster_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MONSTER_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in monster_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MONSTER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// NPC Service Types
foreach (var item in npc_talk_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_TALK_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_sell_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_SELL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_buy_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_BUY_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_repair_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_REPAIR_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_install_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_INSTALL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_uninstall_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_UNINSTALL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_task_in_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_TASK_IN_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_task_out_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_TASK_OUT_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_task_matter_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_TASK_MATTER_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_skill_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_SKILL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_heal_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_HEAL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_transmit_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_TRANSMIT_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// foreach (var item in npc_transport_service_array)
// {
// add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_TRANSPORT_SERVICE);
// add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
// }
foreach (var item in npc_proxy_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_PROXY_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_storage_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_STORAGE_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_make_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_MAKE_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_decompose_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_DECOMPOSE_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_identify_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_IDENTIFY_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_war_towerbuild_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_WAR_TOWERBUILD_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_resetprop_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_RESETPROP_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_petname_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_PETNAME_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_petlearnskill_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_PETLEARNSKILL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_petforgetskill_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_PETFORGETSKILL_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_equipbind_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_EQUIPBIND_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_equipdestroy_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_EQUIPDESTROY_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in npc_equipundestroy_service_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_NPC_EQUIPUNDESTROY_SERVICE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Config Types
foreach (var item in enemy_faction_config_array)
{
add_id_index(ID_SPACE.ID_SPACE_CONFIG, item.id, DATA_TYPE.DT_ENEMY_FACTION_CONFIG);
add_id_data(ID_SPACE.ID_SPACE_CONFIG, item.id, item);
}
foreach (var item in character_class_config_array)
{
add_id_index(ID_SPACE.ID_SPACE_CONFIG, item.id, DATA_TYPE.DT_CHARRACTER_CLASS_CONFIG);
add_id_data(ID_SPACE.ID_SPACE_CONFIG, item.id, item);
}
foreach (var item in param_adjust_config_array)
{
add_id_index(ID_SPACE.ID_SPACE_CONFIG, item.id, DATA_TYPE.DT_PARAM_ADJUST_CONFIG);
add_id_data(ID_SPACE.ID_SPACE_CONFIG, item.id, item);
}
foreach (var item in player_action_info_config_array)
{
add_id_index(ID_SPACE.ID_SPACE_CONFIG, item.id, DATA_TYPE.DT_PLAYER_ACTION_INFO_CONFIG);
add_id_data(ID_SPACE.ID_SPACE_CONFIG, item.id, item);
}
foreach (var item in player_levelexp_config_array)
{
add_id_index(ID_SPACE.ID_SPACE_CONFIG, item.id, DATA_TYPE.DT_PLAYER_LEVELEXP_CONFIG);
add_id_data(ID_SPACE.ID_SPACE_CONFIG, item.id, item);
}
foreach (var item in player_secondlevel_config_array)
{
add_id_index(ID_SPACE.ID_SPACE_CONFIG, item.id, DATA_TYPE.DT_PLAYER_SECONDLEVEL_CONFIG);
add_id_data(ID_SPACE.ID_SPACE_CONFIG, item.id, item);
}
// Additional Essence Types
foreach (var item in taskdice_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_TASKDICE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in tasknormalmatter_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_TASKNORMALMATTER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in mine_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MINE_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in mine_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_MINE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Fashion Types
foreach (var item in fashion_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FASHION_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in fashion_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FASHION_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in fashion_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FASHION_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Face Ticket Types
foreach (var item in faceticket_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FACETICKET_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in faceticket_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FACETICKET_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in faceticket_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FACETICKET_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Face Pill Types
foreach (var item in facepill_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FACEPILL_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in facepill_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FACEPILL_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in facepill_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FACEPILL_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Suite and Generator Types
foreach (var item in suite_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_SUITE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in gm_generator_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_GM_GENERATOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in gm_generator_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_GM_GENERATOR_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Pet Types
foreach (var item in pet_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PET_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in pet_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PET_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in pet_egg_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PET_EGG_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in pet_food_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PET_FOOD_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in pet_faceticket_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_PET_FACETICKET_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Special Items
foreach (var item in fireworks_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_FIREWORKS_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in war_tankcallin_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_WAR_TANKCALLIN_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in skillmatter_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_SKILLMATTER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in refine_ticket_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_REFINE_TICKET_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in destroying_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DESTROYING_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in bible_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_BIBLE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in speaker_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_SPEAKER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in autohp_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_AUTOHP_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in automp_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_AUTOMP_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in double_exp_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DOUBLE_EXP_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in transmitscroll_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_TRANSMITSCROLL_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in dye_ticket_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_DYE_TICKET_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Goblin Types
foreach (var item in goblin_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_GOBLIN_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in goblin_equip_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_GOBLIN_EQUIP_TYPE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in goblin_equip_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_GOBLIN_EQUIP_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in goblin_exppill_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_GOBLIN_EXPPILL_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
foreach (var item in sell_certificate_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_ESSENCE, item.id, DATA_TYPE.DT_SELL_CERTIFICATE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_ESSENCE, item.id, item);
}
// Talk Process
foreach (var item in talk_proc_array)
{
add_id_index(ID_SPACE.ID_SPACE_TALK, item.id_talk, DATA_TYPE.DT_TALK_PROC);
add_id_data(ID_SPACE.ID_SPACE_TALK, item.id_talk, item);
}
// Face Types
foreach (var item in face_texture_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_TEXTURE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
foreach (var item in face_shape_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_SHAPE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
// foreach (var item in face_emotion_type_array)
// {
// add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_EMOTION_TYPE);
// add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
// }
foreach (var item in face_expression_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_EXPRESSION_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
foreach (var item in face_hair_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_HAIR_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
foreach (var item in face_moustache_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_MOUSTACHE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
foreach (var item in colorpicker_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_COLORPICKER_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
foreach (var item in customizedata_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_CUSTOMIZEDATA_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
foreach (var item in face_faling_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_FACE, item.id, DATA_TYPE.DT_FACE_FALING_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_FACE, item.id, item);
}
// Recipe Types
foreach (var item in recipe_major_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_RECIPE, item.id, DATA_TYPE.DT_RECIPE_MAJOR_TYPE);
add_id_data(ID_SPACE.ID_SPACE_RECIPE, item.id, item);
}
foreach (var item in recipe_sub_type_array)
{
add_id_index(ID_SPACE.ID_SPACE_RECIPE, item.id, DATA_TYPE.DT_RECIPE_SUB_TYPE);
add_id_data(ID_SPACE.ID_SPACE_RECIPE, item.id, item);
}
foreach (var item in recipe_essence_array)
{
add_id_index(ID_SPACE.ID_SPACE_RECIPE, item.id, DATA_TYPE.DT_RECIPE_ESSENCE);
add_id_data(ID_SPACE.ID_SPACE_RECIPE, item.id, item);
}
}
public void SaveDataToTextFile()
{
StringBuilder sb = new();
// foreach (var weaponEssence in weapon_essence_array)
// {
// sb.AppendLine(weaponEssence.ToString());
// }
// Write the StringBuilder content to a text file
// string filePath = " weapon_names.txt";
// using (StreamWriter writer = new StreamWriter(filePath))
// {
// writer.Write(sb.ToString());
// writer.Close();
// }
// foreach (var item in npc_type_array)
// {
// sb.AppendLine(item.ToString());
// }
// string filePath = " NPC_INFO.txt";
// using (StreamWriter writer = new StreamWriter(filePath))
// {
// writer.Write(sb.ToString());
// writer.Close();
// }
// foreach (var item in npc_essence_array)
// {
// sb.AppendLine($"NPC {item.Name} FILE: {item.FileModel} MSG: {item.HelloMsg}");
// }
// string filePath = "npc_essence_hello.txt";
// using (StreamWriter writer = new StreamWriter(filePath))
// {
// writer.Write(sb.ToString());
// writer.Close();
// }
// foreach (var item in face_hair_essence_array)
// {
// sb.AppendLine(item.ToString());
// }
// string filePath = " face_hair_essence_array.txt";
// using (StreamWriter writer = new StreamWriter(filePath))
// {
// writer.Write(sb.ToString());
// writer.Close();
// }
// save player_action_info_config_array to text file
sb.Clear();
foreach (var item in player_action_info_config_array)
{
sb.AppendLine(item.ToString());
}
string filePath = "player_action_info_config_array.txt";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.Write(sb.ToString());
writer.Close();
}
}
void add_id_index(ID_SPACE idSpace, uint id, DATA_TYPE type)
{
switch (idSpace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
essence_id_data_type_map[id] = type;
break;
case ID_SPACE.ID_SPACE_ADDON:
addon_id_data_type_map[id] = type;
break;
//case ID_SPACE.ID_SPACE_TALK:
// add_id_index_talk(id, type, pos, start);
// break;
//case ID_SPACE.ID_SPACE_FACE:
// add_id_index_face(id, type, pos, start);
// break;
//case ID_SPACE.ID_SPACE_RECIPE:
// add_id_index_recipe(id, type, pos, start);
case ID_SPACE.ID_SPACE_CONFIG:
config_id_data_type_map[id] = type;
break;
case ID_SPACE.ID_SPACE_TALK:
talk_id_data_type_map[id] = type;
break;
case ID_SPACE.ID_SPACE_FACE:
face_id_data_type_map[id] = type;
break;
case ID_SPACE.ID_SPACE_RECIPE:
recipe_id_data_type_map[id] = type;
break;
default:
break;
}
}
public uint get_data_id(ID_SPACE idSpace, int index, ref DATA_TYPE dataType)
{
uint id = 0;
switch (idSpace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
id = essence_index_id_map[index];
dataType = essence_id_data_type_map[id];
break;
case ID_SPACE.ID_SPACE_CONFIG:
id = config_index_id_map[index];
dataType = config_id_data_type_map[id];
break;
case ID_SPACE.ID_SPACE_TALK:
id = talk_index_id_map[index];
dataType = talk_id_data_type_map[id];
break;
case ID_SPACE.ID_SPACE_FACE:
id = face_index_id_map[index];
dataType = face_id_data_type_map[id];
break;
case ID_SPACE.ID_SPACE_RECIPE:
id = recipe_index_id_map[index];
dataType = recipe_id_data_type_map[id];
break;
case ID_SPACE.ID_SPACE_ADDON:
id = addon_index_id_map[index];
dataType = addon_id_data_type_map[id];
break;
default:
break;
}
return id;
}
/// <summary>
/// Go through the id - DATA_TYPE map and return the id with the given data type.
/// </summary>
/// <param name="idSpace">The id space to search in. Each id space has its own id - DATA_TYPE map.</param>
/// <param name="dataType">The data type to search for.</param>
/// <returns>The id with the given data type. Return 0 if no id is found.</returns>
public uint get_id_with_data_type(ID_SPACE idSpace, DATA_TYPE dataType)
{
switch (idSpace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
foreach (var item in essence_id_data_type_map)
{
if (item.Value == dataType)
{
return item.Key;
}
}
break;
// TODO: Add other id spaces here.
case ID_SPACE.ID_SPACE_CONFIG:
foreach (var item in config_id_data_type_map)
{
if (item.Value == dataType)
{
return item.Key;
}
}
break;
default:
return 0;
}
return 0;
}
public T GetDataTypeMap<T>(ID_SPACE type) where T : class
{
object result = type switch
{
ID_SPACE.ID_SPACE_ESSENCE => essence_id_data_type_map,
_ => null
};
return result as T;
}
void add_id_data(ID_SPACE idSpace, uint id, object data)
{
switch (idSpace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
essence_id_data_map[id] = data;
essence_index_id_map[essence_index_id_map.Count] = id;
break;
case ID_SPACE.ID_SPACE_CONFIG:
config_id_data_map[id] = data;
config_index_id_map[config_index_id_map.Count] = id;
break;
case ID_SPACE.ID_SPACE_TALK:
talk_id_data_map[id] = data;
talk_index_id_map[talk_index_id_map.Count] = id;
break;
case ID_SPACE.ID_SPACE_FACE:
face_id_data_map[id] = data;
face_index_id_map[face_index_id_map.Count] = id;
break;
case ID_SPACE.ID_SPACE_RECIPE:
recipe_id_data_map[id] = data;
recipe_index_id_map[recipe_index_id_map.Count] = id;
break;
default:
break;
}
}
/// <summary>Get the number of data in a given ID space. (For example: Number of essence data, number of config data, etc.)</summary>
public int get_data_num(ID_SPACE idSpace)
{
switch(idSpace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
return essence_id_data_type_map.Count;
case ID_SPACE.ID_SPACE_ADDON:
return addon_id_data_type_map.Count;
// case ID_SPACE.ID_SPACE_TALK:
// return talk_id_index_map.Count;
// case ID_SPACE.ID_SPACE_FACE:
// return face_id_index_map.Count;
// case ID_SPACE.ID_SPACE_RECIPE:
// return recipe_id_index_map.Count;
case ID_SPACE.ID_SPACE_CONFIG:
return config_id_data_type_map.Count;
case ID_SPACE.ID_SPACE_TALK:
return talk_id_data_type_map.Count;
case ID_SPACE.ID_SPACE_FACE:
return face_id_data_type_map.Count;
case ID_SPACE.ID_SPACE_RECIPE:
return recipe_id_data_type_map.Count;
default:
return 0;
}
}
public DATA_TYPE get_data_type(uint id, ID_SPACE idspace)
{
switch (idspace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
if (essence_id_data_type_map.TryGetValue(id, out DATA_TYPE essenceType))
{
return essenceType;
}
break;
case ID_SPACE.ID_SPACE_CONFIG:
if (config_id_data_type_map.TryGetValue(id, out DATA_TYPE configType))
{
return configType;
}
break;
case ID_SPACE.ID_SPACE_ADDON:
if (addon_id_data_type_map.TryGetValue(id, out DATA_TYPE addonType))
{
return addonType;
}
break;
case ID_SPACE.ID_SPACE_TALK:
if (talk_id_data_type_map.TryGetValue(id, out DATA_TYPE talkType))
{
return talkType;
}
break;
case ID_SPACE.ID_SPACE_FACE:
if (face_id_data_type_map.TryGetValue(id, out DATA_TYPE faceType))
{
return faceType;
}
break;
case ID_SPACE.ID_SPACE_RECIPE:
if (recipe_id_data_type_map.TryGetValue(id, out DATA_TYPE recipeType))
{
return recipeType;
}
break;
default:
break;
}
return DATA_TYPE.DT_INVALID;
}
public object[] GetAllDataTypeWithType(ID_SPACE idspace,DATA_TYPE dataType )
{
List<object> results = new List<object>();
switch (idspace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
foreach (var kvp in essence_id_data_type_map)
{
if (kvp.Value == dataType)
{
if (essence_id_data_map.TryGetValue(kvp.Key, out var data))
{
results.Add(data);
}
}
}
break;
// Optionally add other cases if you have other *_id_data_type_map dictionaries
// case ID_SPACE.ID_SPACE_CONFIG:
// foreach (var kvp in config_id_data_type_map)
// {
// if (kvp.Value == dataType)
// {
// if (config_id_data_map.TryGetValue(kvp.Key, out var data))
// {
// results.Add(data);
// }
// }
// }
// break;
}
return results.ToArray();
}
public object get_data_ptr(uint id, ID_SPACE idspace, ref DATA_TYPE dataType)
{
object data = null;
switch (idspace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
if (essence_id_data_map.TryGetValue(id, out data))
{
dataType = essence_id_data_type_map[id];
return data;
}
break;
case ID_SPACE.ID_SPACE_CONFIG:
if (config_id_data_map.TryGetValue(id, out data))
{
dataType = config_id_data_type_map[id];
return data;
}
break;
case ID_SPACE.ID_SPACE_TALK:
if (talk_id_data_map.TryGetValue(id, out data))
{
return data;
}
break;
case ID_SPACE.ID_SPACE_FACE:
if (face_id_data_map.TryGetValue(id, out data))
{
return data;
}
break;
case ID_SPACE.ID_SPACE_RECIPE:
if (recipe_id_data_map.TryGetValue(id, out data))
{
return data;
}
break;
case ID_SPACE.ID_SPACE_ADDON:
if (addon_id_data_map.TryGetValue(id, out data))
{
dataType = addon_id_data_type_map[id];
return data;
}
break;
default:
return null;
}
return null;
}
//public uint get_first_data_id(ID_SPACE idspace,ref DATA_TYPE datatype)
//{
// uint id = 0;
// switch (idspace)
// {
// case ID_SPACE.ID_SPACE_ESSENCE:
// if (essence_id_data_type_map.Count==0)
// {
// id = 0;
// datatype = DATA_TYPE.DT_INVALID;
// }
// else
// {
// var firstElement = essence_id_data_type_map.FirstOrDefault();
// id = firstElement.Key;
// datatype = firstElement.Value;
// }
// break;
// case ID_SPACE.ID_SPACE_ADDON:
// addon_id_index_itr = addon_id_index_map.begin();
// if (addon_id_index_itr == addon_id_index_map.end())
// {
// id = 0;
// datatype = DT_INVALID;
// }
// else
// {
// id = addon_id_index_itr->first;
// datatype = (addon_id_index_itr->second).type;
// }
// break;
// case ID_SPACE.ID_SPACE_TALK:
// talk_id_index_itr = talk_id_index_map.begin();
// if (talk_id_index_itr == talk_id_index_map.end())
// {
// id = 0;
// datatype = DT_INVALID;
// }
// else
// {
// id = talk_id_index_itr->first;
// datatype = (talk_id_index_itr->second).type;
// }
// break;
// case ID_SPACE.ID_SPACE_FACE:
// face_id_index_itr = face_id_index_map.begin();
// if (face_id_index_itr == face_id_index_map.end())
// {
// id = 0;
// datatype = DT_INVALID;
// }
// else
// {
// id = face_id_index_itr->first;
// datatype = (face_id_index_itr->second).type;
// }
// break;
// case ID_SPACE.ID_SPACE_RECIPE:
// recipe_id_index_itr = recipe_id_index_map.begin();
// if (recipe_id_index_itr == recipe_id_index_map.end())
// {
// id = 0;
// datatype = DT_INVALID;
// }
// else
// {
// id = recipe_id_index_itr->first;
// datatype = (recipe_id_index_itr->second).type;
// }
// break;
// case ID_SPACE.ID_SPACE_CONFIG:
// config_id_index_itr = config_id_index_map.begin();
// if (config_id_index_itr == config_id_index_map.end())
// {
// id = 0;
// datatype = DT_INVALID;
// }
// else
// {
// id = config_id_index_itr->first;
// datatype = (config_id_index_itr->second).type;
// }
// break;
// default:
// id = 0;
// datatype = DATA_TYPE.DT_INVALID;
// break;
// }
// return id;
//}
public object[] GetAllDataOfType(ID_SPACE idSpace, DATA_TYPE dataType)
{
List<object> results = new List<object>();
switch (idSpace)
{
case ID_SPACE.ID_SPACE_ESSENCE:
foreach (var kvp in essence_id_data_type_map)
{
if (kvp.Value == dataType)
{
results.Add(kvp.Value);
}
}
break;
default:
break;
}
return results.ToArray();
}
}
}