using System.Collections; using System.Collections.Generic; using UnityEngine; using LitJson; using System; using System.Text.RegularExpressions; using System.Linq; public class GeneralDefine { public const int CrossBattleFieldMapID = 32060; public const int CrossFamilyBattleMapID = 32090; public static int initDepotGridCount { get; private set; } public static int maxDepotGridCount { get; private set; } public static int initBagGridCount { get; private set; } public static int maxBagGridCount { get; private set; } public static int maxXBGridCount { get; private set; } public static int playerMaxLevel { get; private set; } public static int[] kylinHomeCollectItems; public static List dailyQuestOpenTime; public static int flyBootItemId { get; private set; } public static int flyBootItemMoney { get; private set; } public static int teamReadyTime { get; private set; } public static int elderGodAreaAngerTotal { get; private set; } public static float petRandomSpeak { get; private set; } public static int[] openJobs { get; private set; } public static int playerNameLength { get; private set; } public static int guardDungeonCageNPCID { get; private set; } public static float guardBubbleInterval { get; private set; } public static List autoOnHookMap { get; private set; } public static float autoRideHorse { get; private set; } public static Dictionary equipPlaceNameDict { get; private set; } public static Dictionary moneyDisplayIds { get; private set; } public static int expDisplayId { get; private set; } public static float xpGuideDelay { get; private set; } public static float xpGuideDuration { get; private set; } public static Dictionary trailBossHeadIcons { get; private set; } public static Dictionary godWeaponMobs { get; private set; } public static float ResetComAtkTime { get; private set; } public static int RotateSpeed { get; private set; } public static float CloseNpcDist { get; private set; } public static float FarawayNpcDist { get; private set; } public static List SpecialNpcIDs { get; private set; } public static Dictionary wingEquipLimits { get; private set; } public static float PetDanceInterval { get; private set; } public static float FuncNpcDanceInterval { get; private set; } public static float audioScaleWhenFullScreenOn { get; private set; } public static int ruinsTranscriptMapId { get; private set; } public static List GuardianPickUpID { get; private set; } public static List EarlierGetTreasure { get; private set; } public static int BossSound { get; private set; } public static Dictionary iceCrystalMonsterScores { get; private set; } public static float PlayBossHurtInterval { get; private set; } public static List NoXpDungeons { get; private set; } public static List RandomJobs { get; private set; } public static int elderGodTalkingTime { get; private set; } public static int elderGodBigBoss { get; private set; } public static List PassiveSkillShow { get; private set; } public static List bossShuntMaps { get; private set; } public static int bossShuntDays { get; private set; } public static Dictionary itemDropEffect = new Dictionary(); public static Dictionary xllyDropEffect = new Dictionary(); public static Dictionary xqryDropEffect = new Dictionary(); public static Dictionary> customDropEffect = new Dictionary>(); public static Dictionary dropEffectQuality = new Dictionary(); public static Dictionary BuffToHitEffect = new Dictionary(); //参数int,int ,string 分别表示职业,转生等级,icon static Dictionary> jobHeadPortrait = new Dictionary>(); static Dictionary> otherjobHeadPortrait = new Dictionary>(); public static Dictionary bossWearyValues = new Dictionary(); public static Dictionary NpcPosOffset = new Dictionary(); public static Dictionary propertyIconDict = new Dictionary(); public static int demonJarHintLevelLimit { get; private set; } public static int demonJarHintLineId { get; private set; } public static int skillPanelUnLock { get; private set; } public static int dailyQuestRedpointLevelLimit { get; private set; } public static int lowHpRemind { get; private set; } public static int munekadolockLimit { get; private set; } public static int maxItemDropEffectCount { get; private set; } public static int[] autoBuyItemIds; public static int[] autoBuyItemPrices; public static List neutralMaps = new List(); public static List neutralBossMaps = new List(); public static int demonJarRedPoint { get; private set; } public static string LoadLV { get; private set; } public static int MasteryLoadingLevelLimit1 { get; private set; } public static int MasteryLoadingLevelLimit2 { get; private set; } public static float mainWinSkillResetTime { get; private set; } public static Vector3 heroDialogueOffset { get; private set; } public static Vector3 heroDialogueRotation { get; private set; } public static float heroDialogueScale { get; private set; } public static List ancientGrandTotalAchievements { get; private set; } public static List ancientContinueKillAchievements { get; private set; } public static int trialDungeonGroupChallengeTipLv { get; private set; } public static int prayerRedpointLimitLv { get; private set; } public static int demonJarLevelLimit { get; private set; } public static int fairyLandGuideId = 82; public static int specialGuide41Mission { get; private set; } public static int specialGuide41Achievement { get; private set; } public static int supremeRechargeVipLv { get; private set; } public static int rechargeRedpointLv { get; private set; } public static int rechargeRedpointMinLv { get; private set; } public static int runeTowerSweepBuyTimes { get; private set; } public static int runeTowerSweepBuyPrice { get; private set; } public static int teamMatchingTimeOut { get; private set; } public static List inGameDownLoadLevelCheckPoints = null; public static List inGameDownLoadTaskCheckPoints = null; public static int inGameDownLoadHighLevel { get; private set; } public static List worldBossNoRebornRemindMaps = null; public static List bossHomeNoRebornRemindMaps = null; public static List elderGodNoRebornRemindMaps = null; public static List demonJarNoRebornRemindMaps = null; public static List dogzNoRebornRemindMaps = null; public static string[][] ModeDefaultConfig { get; private set; } public static int[][] PreloadSkillEffect { get; private set; } public static int[] RealmGroup { get; private set; } public static float PrefightAtkRange { get; private set; } public static Dictionary multipleRealmImgDict { get; private set; } public static int[] ImportantItemType { get; private set; } public static int[] ImportantItemID { get; private set; } public static int inGameDownLoadHighestLevelPoint { get; private set; } public static List dungeonCanUseMoneyIds { get; private set; } public static int dogzBoxLimit { get; private set; } public static Dictionary dungeonRebornClientTimes { get; private set; } public static int[] CompareEquipPlaces { get; private set; } public static Dictionary fairyGrabBossMapLines { get; private set; } public static Dictionary> DropItemEffectMapID { get; private set; } public static Dictionary> itemPutInPackDict { get; private set; } public static List RebornAutoFightMapID { get; private set; } public static string teamWorldCall; public static int teamWorldCallInviteCount; // public static List ancientKingAwards = new List(); public static int lowQualityEffectCount { get; private set; } public static int medQualityEffectCount { get; private set; } public static int highQualityEffectCount { get; private set; } public static int lowQualityPetCount { get; private set; } public static int medQualityPetCount { get; private set; } public static int highQualityPetCount { get; private set; } public static int lowQualityGuardCount { get; private set; } public static int medQualityGuardCount { get; private set; } public static int highQualityGuardCount { get; private set; } public static int lowQualityPetEffectCount { get; private set; } public static int medQualityPetEffectCount { get; private set; } public static int highQualityPetEffectCount { get; private set; } public static int lowQualityHorseEffectCount { get; private set; } public static int medQualityHorseEffectCount { get; private set; } public static int highQualityHorseEffectCount { get; private set; } public static int GatherSoulDZ { get; private set; } public static int fairyLandBuffCondition { get; private set; } public static int fairyLandBuffId { get; private set; } public static int achievementEarlierStageLevel { get; private set; } public static int demonJarAutoTime { get; private set; } // public static Dictionary> SgzzRobotEquipDict { get; private set; } public static Dictionary SgzcRealm { get; private set; } public static int crossServerOneVsOneOpenDay { get; set; } public static int crossServerBattleFieldOpenDay { get; private set; } public static int UISpringDecorate { get; private set; } public static Dictionary> skillAttrIDDict { get; private set; } public static int mixServerCustomDays { get; private set; } public static float ClientPvpAttributePer { get; private set; } public static int openServerCustomDays { get; private set; } public static int mysteryShopRefreshItem { get; private set; } public static Dictionary mysteryShopRefreshItemCount { get; private set; } public static int mysteryShopRefreshItemValue { get; private set; } public static int mysteryShopRefreshInterval { get; private set; } public static Dictionary> equipStarLimit { get; private set; } public static int equipTrainMustItemId { get; private set; } public static int acutionItemHour { get; private set; } public static int mainWinTopCloseTime { get; private set; } public static List equipDecomposeScreen = new List(); public static Dictionary AtkTypeIncreasePushDis = new Dictionary(); // public static Dictionary NpcDieSetCamera = new Dictionary(); public static int BlueEquipJumpLevel { get; private set; } public static int[] defenseGetWays { get; private set; } public static Dictionary skillYinjis { get; private set; } public static List onlyUsedAtBackpackItems { get; private set; } public static List signInPromoteSkills = new List(); public static List chestDisplayItems = new List(); public static int equipStarUpAmendFactor { get; private set; } public static int equipStarDownAmendFactor { get; private set; } public static int normalEquipStarUpgradeRateCeiling { get; private set; } public static int normalEquipStarUpgradeRateFloor { get; private set; } public static int suitEquipStarUpgradeRateCeiling { get; private set; } public static int suitEquipStarUpgradeRateFloor { get; private set; } public static Dictionary> BossAssistAward { get; private set; } public static Dictionary> FBAssistAward { get; private set; } //检测是否在systemsetwin prefab显示切换区服和切换账号 public static List checkShowSwitchAccount = new List(); //竞技场 初始积分|最高积分 public static List ArenaSetList { get; private set; } //培养对应物品列表 1.培养丹2.养神石3.特殊培养 public static int[] HorseTrainIDList { get; private set; } public static int[] PetTrainIDList { get; private set; } public static Dictionary> LingQiTrainIDList { get; private set; } //数值1:可对敌方使用的附加技能列表 //数值2:可对自己使用的附加技能列表 //数值3:不可释放的技能 public static int[] WorkForEnemySkills { get; private set; } public static int[] WorkForMeSkills { get; private set; } public static int[] WorkNotSkills { get; private set; } public static Dictionary> ZhanLingCtgIdDict { get; private set; } public static Dictionary> ZhanLingCtgIdHDict { get; private set; } public static Dictionary OldZhanLingCtgIdDict { get; private set; } public static float fightPowerMore; //战力超过比例才可快速挑战 public static int[] flashOpenArr; //开启雷诛层 [天星塔,境界塔,符印塔(按第几个塔算)] public static int[] flashCntMoreArr; //雷诛更多次数层需求 [天星塔,境界塔,符印塔(按第几个塔算)] public static int flashKillMaxCount; //雷诛最大次数 public static readonly int HundredMillion = 100000000;//1亿 public static void Init() { try { // equipStarUpAmendFactor = GetIntArray("EquipStarRate")[0]; // equipStarDownAmendFactor = GetIntArray("EquipStarRate")[1]; // normalEquipStarUpgradeRateFloor = GetIntArray("EquipStarRate", 2)[0]; // normalEquipStarUpgradeRateCeiling = GetIntArray("EquipStarRate", 2)[1]; // suitEquipStarUpgradeRateFloor = GetIntArray("EquipStarRate", 3)[0]; // suitEquipStarUpgradeRateCeiling = GetIntArray("EquipStarRate", 3)[1]; // BlueEquipJumpLevel = GetInt("BlueEquipJumpLevel"); // initDepotGridCount = GetInt("InitDepotCellCount"); // maxDepotGridCount = GetInt("MaxDepotCellCount"); // initBagGridCount = GetInt("InitBagCellCount"); // maxBagGridCount = GetInt("MaxBagCellCount"); // maxXBGridCount = GetInt("TreasureSet", 3); // CompareEquipPlaces = GetIntArray("EquipUpType"); // playerMaxLevel = GetInt("PlayerMaxLV"); // kylinHomeCollectItems = GetIntArray("KirinNpc", 2); // dailyQuestOpenTime = GetTimeArray("ActionTime", 1); // flyBootItemId = GetInt("TransportPay"); // flyBootItemMoney = GetInt("TransportPay", 2); // teamReadyTime = GetInt("TeamReadyTime"); // playerNameLength = GetInt("RoleNameLength"); // elderGodAreaAngerTotal = GetInt("AngryAdd", 4); // petRandomSpeak = GetFloat("PetRandomSpeak"); // guardDungeonCageNPCID = GetInt("GuardFBCageNPCID"); // guardBubbleInterval = GetFloat("GuardFBCageNPCID", 3); // autoRideHorse = GetFloat("AutoRideHorseTime") * Constants.F_DELTA; // moneyDisplayIds = ConfigParse.GetDic(GetInputString("MoneyDisplayModel", 1)); // expDisplayId = GetInt("MoneyDisplayModel", 2); // openJobs = GetIntArray("OpenJob"); // xpGuideDelay = GetFloat("GuideConfig"); // xpGuideDuration = GetFloat("GuideConfig", 2); // ResetComAtkTime = GetFloat("AtkWaitingTime"); // autoOnHookMap = new List(GetIntArray("AutoOnHookMap")); // GuardianPickUpID = new List(GetIntArray("GuardianPickUpID")); // ArenaSetList = new List(GetIntArray("ArenaSet")); // RotateSpeed = GetInt("RoleTurnedAngle"); // CloseNpcDist = GetFloat("ConversationDistanc", 2); // FarawayNpcDist = GetFloat("ConversationDistanc"); // SpecialNpcIDs = new List(GetIntArray("SpecialCollectNpcs", 1)); // PetDanceInterval = GetInt("PetDanceInterval") * Constants.F_GAMMA; // FuncNpcDanceInterval = GetInt("PetDanceInterval", 2) * Constants.F_GAMMA; // ruinsTranscriptMapId = GetInt("SpRewardMapID"); // EarlierGetTreasure = new List(GetIntArray("EarlierGetTreasure")); // BossSound = GetInt("BossSound"); // PlayBossHurtInterval = GetFloat("BossSound", 2); // var jobHeadPortraitConfig1 = FuncConfigConfig.Get("Job1Head"); // jobHeadPortrait[1] = ConfigParse.GetDic(jobHeadPortraitConfig1.Numerical1); // otherjobHeadPortrait[1] = ConfigParse.GetDic(jobHeadPortraitConfig1.Numerical2); // var jobHeadPortraitConfig2 = FuncConfigConfig.Get("Job2Head"); // jobHeadPortrait[2] = ConfigParse.GetDic(jobHeadPortraitConfig2.Numerical1); // otherjobHeadPortrait[2] = ConfigParse.GetDic(jobHeadPortraitConfig2.Numerical2); // var jobHeadPortraitConfig3 = FuncConfigConfig.Get("Job3Head"); // jobHeadPortrait[3] = ConfigParse.GetDic(jobHeadPortraitConfig3.Numerical1); // otherjobHeadPortrait[3] = ConfigParse.GetDic(jobHeadPortraitConfig3.Numerical2); // bossWearyValues = ConfigParse.GetDic(GetInputString("KillBossCntLimit", 2)); // wingEquipLimits = ConfigParse.GetDic(GetInputString("WingRealmLimit", 1)); // int i = 0; // int[] equipPlaces = GetIntArray("EquipArea", 1); // string[] equipPlacesNames = GetStringArray("EquipArea", 2); // equipPlaceNameDict = new Dictionary(); // for (i = 0; i < equipPlaces.Length; i++) // { // if (!equipPlaceNameDict.ContainsKey(equipPlaces[i])) // { // equipPlaceNameDict.Add(equipPlaces[i], equipPlacesNames[i]); // } // else // { // Debug.LogError("EquipArea : 装备位置重复"); // } // } // var _trailBossJson = LitJson.JsonMapper.ToObject(GetInputString("MuneKadoTrialBossHead", 1)); // trailBossHeadIcons = new Dictionary(); // foreach (var _key in _trailBossJson.Keys) // { // var _npcId = int.Parse(_key); // if (!trailBossHeadIcons.ContainsKey(_npcId)) // { // trailBossHeadIcons.Add(_npcId, _trailBossJson[_key].ToString()); // } // } // FuncConfigConfig HorseTrainConfig = FuncConfigConfig.Get("HorseTrain"); // HorseTrainIDList = LitJson.JsonMapper.ToObject(HorseTrainConfig.Numerical1); // FuncConfigConfig PetTrainConfig = FuncConfigConfig.Get("PetUpItem"); // PetTrainIDList = LitJson.JsonMapper.ToObject(PetTrainConfig.Numerical3); // FuncConfigConfig LingQiTrainConfig = FuncConfigConfig.Get("HorseTrain"); // var LingQiTrainJson = LitJson.JsonMapper.ToObject(GetInputString("LingQiTrain", 1)); // LingQiTrainIDList = new Dictionary>(); // foreach (var key in LingQiTrainJson.Keys) // { // int attrId = int.Parse(key); // var skillIds = LingQiTrainJson[key]; // foreach (var skillId in skillIds) // { // int id = int.Parse(skillId.ToString()); // if (!LingQiTrainIDList.ContainsKey(attrId)) // { // List list = new List(); // list.Add(id); // LingQiTrainIDList.Add(attrId, list); // } // else // { // LingQiTrainIDList[attrId].Add(id); // } // } // } // var skillPlusAttrIDJson = LitJson.JsonMapper.ToObject(GetInputString("SkillPlusAttrID", 2)); // skillAttrIDDict = new Dictionary>(); // foreach (var key in skillPlusAttrIDJson.Keys) // { // int attrId = int.Parse(key); // var skillIds = skillPlusAttrIDJson[key]; // foreach (var skillId in skillIds) // { // int id = int.Parse(skillId.ToString()); // if (!skillAttrIDDict.ContainsKey(id)) // { // List list = new List(); // list.Add(attrId); // skillAttrIDDict.Add(id, list); // } // else // { // skillAttrIDDict[id].Add(attrId); // } // } // } // var BossAssistAwardJson = LitJson.JsonMapper.ToObject(GetInputString("AssistAward", 1)); // BossAssistAward = new Dictionary>(); // foreach (var key in BossAssistAwardJson.Keys) // { // int bossID = int.Parse(key); // var awards = BossAssistAwardJson[key]; // if (!BossAssistAward.ContainsKey(bossID)) // { // BossAssistAward[bossID] = new List(); // } // foreach (var award in awards) // { // BossAssistAward[bossID].Add(int.Parse(award.ToString())); // } // } // var FBAssistAwardJson = LitJson.JsonMapper.ToObject(GetInputString("AssistAward", 2)); // FBAssistAward = new Dictionary>(); // foreach (var key in FBAssistAwardJson.Keys) // { // int mapID = int.Parse(key); // var awards = FBAssistAwardJson[key]; // if (!FBAssistAward.ContainsKey(mapID)) // { // FBAssistAward[mapID] = new List(); // } // foreach (var award in awards) // { // FBAssistAward[mapID].Add(int.Parse(award.ToString())); // } // } // var _godWeaponJson = LitJson.JsonMapper.ToObject(GetInputString("GodModel", 1)); // godWeaponMobs = new Dictionary(); // foreach (var _key in _godWeaponJson.Keys) // { // var _godWeaponType = int.Parse(_key); // if (!godWeaponMobs.ContainsKey(_godWeaponType)) // { // godWeaponMobs.Add(_godWeaponType, _godWeaponJson[_key].ToString()); // } // } // audioScaleWhenFullScreenOn = GetFloat("AudioSound"); // iceCrystalMonsterScores = ConfigParse.GetDic(GetInputString("IceLodeNeedPoint", 2)); // NoXpDungeons = new List(GetIntArray("XpNoUseDungeon")); // RandomJobs = new List(GetIntArray("RandomJob")); // elderGodTalkingTime = GetInt("ElderGodTalkingTime"); // elderGodBigBoss = GetInt("ElderGodBigBoss"); // PassiveSkillShow = new List(GetIntArray("PassiveSkillShow")); // FuncConfigConfig func = FuncConfigConfig.Get("NpcPosOffset"); // LitJson.JsonData _data = LitJson.JsonMapper.ToObject(func.Numerical1); // foreach (var _key in _data.Keys) // { // int _npcID = int.Parse(_key); // double[] _pos = new double[2]; // _pos[0] = (double)_data[_key][0]; // _pos[1] = (double)_data[_key][1]; // NpcPosOffset.Add(_npcID, new Vector3((float)_pos[0], 0, (float)_pos[1])); // } // //checkShowSwitchAccount // var showSwitchAccount = FuncConfigConfig.Get("ShowSwitchAccount"); // LitJson.JsonData itemShowSwitchAccount = LitJson.JsonMapper.ToObject(showSwitchAccount.Numerical1); // checkShowSwitchAccount = new List(); // foreach(var item in itemShowSwitchAccount) // { // checkShowSwitchAccount.Add(item.ToString()); // } // var putInItemPack = FuncConfigConfig.Get("PutInItemPack"); // LitJson.JsonData itemPutInData = LitJson.JsonMapper.ToObject(putInItemPack.Numerical1); // itemPutInPackDict = new Dictionary>(); // foreach (var _key in itemPutInData.Keys) // { // var itemTypeData = itemPutInData[_key]; // int packType = int.Parse(_key); // List itemTypes = new List(); // itemPutInPackDict.Add(packType, itemTypes); // if (itemTypeData.IsArray) // { // for (i = 0; i < itemTypeData.Count; i++) // { // int itemType = int.Parse(itemTypeData[i].ToString()); // itemTypes.Add(itemType); // } // } // } // //拾取贵重物品 // FuncConfigConfig importantItemType = FuncConfigConfig.Get("AutoBuyDrug"); // ImportantItemType = LitJson.JsonMapper.ToObject(importantItemType.Numerical2); // ImportantItemID = LitJson.JsonMapper.ToObject(importantItemType.Numerical3); // FuncConfigConfig nxxdImg = FuncConfigConfig.Get("NXXDPicture"); // LitJson.JsonData nxxdData = LitJson.JsonMapper.ToObject(nxxdImg.Numerical1); // multipleRealmImgDict = new Dictionary(); // if (nxxdData.IsArray) // { // for (i = 0; i < nxxdData.Count; i++) // { // if (nxxdData[i].IsArray) // { // multipleRealmImgDict.Add(int.Parse(nxxdData[i][0].ToString()), nxxdData[i][1].ToString()); // } // } // } // bossShuntMaps = new List(GetIntArray("BossShunt")); // bossShuntDays = GetInt("BossShunt", 3); // itemDropEffect.Clear(); // func = FuncConfigConfig.Get("ItemEquipmentEffect"); // _data = LitJson.JsonMapper.ToObject(func.Numerical1); // List _keys = new List(_data.Keys); // for (i = 0; i < _keys.Count; ++i) // { // int[] _props = new int[3]; // for (int j = 0; j < 3; ++j) // { // _props[j] = (int)_data[_keys[i]][j]; // } // itemDropEffect[int.Parse(_keys[i])] = _props; // } // xllyDropEffect.Clear(); // _data = LitJson.JsonMapper.ToObject(func.Numerical2); // _keys.Clear(); // _keys.AddRange(_data.Keys); // for (i = 0; i < _keys.Count; ++i) // { // int[] _props = new int[3]; // for (int j = 0; j < 3; ++j) // { // _props[j] = (int)_data[_keys[i]][j]; // } // xllyDropEffect[int.Parse(_keys[i])] = _props; // } // xqryDropEffect.Clear(); // _data = LitJson.JsonMapper.ToObject(func.Numerical3); // _keys.Clear(); // _keys.AddRange(_data.Keys); // for (i = 0; i < _keys.Count; ++i) // { // int[] _props = new int[3]; // for (int j = 0; j < 3; ++j) // { // _props[j] = (int)_data[_keys[i]][j]; // } // xqryDropEffect[int.Parse(_keys[i])] = _props; // } // dropEffectQuality.Clear(); // func = FuncConfigConfig.Get("IeemEquipmentEffectQuality"); // _data = LitJson.JsonMapper.ToObject(func.Numerical1); // _keys.Clear(); // _keys.AddRange(_data.Keys); // for (i = 0; i < _keys.Count; ++i) // { // dropEffectQuality[int.Parse(_keys[i])] = (int)_data[_keys[i]]; // } // customDropEffect.Clear(); // func = FuncConfigConfig.Get("ItemEquipmentEffectItem"); // _data = LitJson.JsonMapper.ToObject(func.Numerical1); // _keys.Clear(); // _keys.AddRange(_data.Keys); // int[] _tmp = null; // List _content = null; // for (i = 0; i < _keys.Count; ++i) // { // _content = new List(); // foreach (LitJson.JsonData _values in _data[_keys[i]]) // { // if (_values.IsArray) // { // _tmp = new int[2]; // _tmp[0] = (int)_values[0]; // _tmp[1] = (int)_values[1]; // } // else // { // _tmp = new int[1]; // _tmp[0] = (int)_values; // } // _content.Add(_tmp); // } // customDropEffect.Add(int.Parse(_keys[i]), _content); // } // BuffToHitEffect.Clear(); // func = FuncConfigConfig.Get("BuffToHitEffect"); // if (!string.IsNullOrEmpty(func.Numerical1) && !string.IsNullOrEmpty(func.Numerical2)) // { // string[] _buffs = func.Numerical1.Split('|'); // string[] _effects = func.Numerical2.Split('|'); // for (i = 0; i < _buffs.Length; ++i) // { // BuffToHitEffect[int.Parse(_buffs[i])] = int.Parse(_effects[i]); // } // } // demonJarHintLevelLimit = GetInt("DemonJarFirstRemin"); // demonJarHintLineId = GetInt("DemonJarFirstRemin", 2); // skillPanelUnLock = GetInt("SkillPanelUnlock"); // dailyQuestRedpointLevelLimit = GetInt("DailyQuestRedPoint"); // lowHpRemind = GetInt("LowHpRemind"); // autoBuyItemIds = GetIntArray("BuyItemPrice", 1); // autoBuyItemPrices = GetIntArray("BuyItemPrice", 2); // neutralMaps.AddRange(GetIntArray("MapLine", 4)); // neutralBossMaps.AddRange(GetIntArray("BossListMapID")); // var _propertyIconCfg = FuncConfigConfig.Get("PropertyIcon"); // var _propertyIconJson = LitJson.JsonMapper.ToObject(_propertyIconCfg.Numerical1); // foreach (var _key in _propertyIconJson.Keys) // { // var _property = int.Parse(_key); // propertyIconDict.Add(_property, _propertyIconJson[_key].ToString()); // } // munekadolockLimit = GetInt("MunekadoLockLimit"); // demonJarRedPoint = GetInt("DemonJarRedPoint"); // LoadLV = GetInputString("LoadLV"); // mainWinSkillResetTime = GetFloat("AutomaticSwitch"); // heroDialogueOffset = GetInputString("NpcHalfLength", 1).Vector3Parse(); // heroDialogueRotation = GetInputString("NpcHalfLength", 2).Vector3Parse(); // heroDialogueScale = GetFloat("NpcHalfLength", 3); // var ancientConfig = FuncConfigConfig.Get("ElderBattleTarget"); // ancientGrandTotalAchievements = new List(); // ancientGrandTotalAchievements.AddRange(ConfigParse.GetMultipleStr(ancientConfig.Numerical1)); // ancientContinueKillAchievements = new List(); // ancientContinueKillAchievements.AddRange(ConfigParse.GetMultipleStr(ancientConfig.Numerical2)); // trialDungeonGroupChallengeTipLv = GetInt("SingleIntoFB"); // prayerRedpointLimitLv = GetInt("PrayRedPoint"); // demonJarLevelLimit = GetInt("DemonJarLevelLimit"); // maxItemDropEffectCount = GetInt("ItemMaskEffect"); // specialGuide41Mission = GetInt("SpecialGuide41", 1); // specialGuide41Achievement = GetInt("SpecialGuide41", 2); // supremeRechargeVipLv = GetInt("SupremeCTGVipLimit", 1); // rechargeRedpointLv = GetInt("FirstPayRedPoint", 1); // rechargeRedpointMinLv = GetInt("FirstPayRedPoint", 2); // runeTowerSweepBuyTimes = GetInt("RuneTowerSweepBuy"); // runeTowerSweepBuyPrice = GetInt("RuneTowerSweepBuy", 2); // teamMatchingTimeOut = GetInt("TeamMatchingTimeOut"); // inGameDownLoadLevelCheckPoints = new List(GetIntArray("InGameDownLoad")); // inGameDownLoadTaskCheckPoints = new List(GetIntArray("InGameDownLoad", 2)); // inGameDownLoadHighLevel = GetInt("InGameDownLoad", 3); // worldBossNoRebornRemindMaps = new List(GetIntArray("NoRebornRemindMap", 1)); // bossHomeNoRebornRemindMaps = new List(GetIntArray("NoRebornRemindMap", 2)); // elderGodNoRebornRemindMaps = new List(GetIntArray("NoRebornRemindMap", 3)); // demonJarNoRebornRemindMaps = new List(GetIntArray("NoRebornRemindMap", 4)); // dogzNoRebornRemindMaps = new List(GetIntArray("NoRebornRemindMap", 5)); // if (ModeDefaultConfig == null) // { // func = FuncConfigConfig.Get("ModeDefault"); // string[] _funcNpc = func.Numerical1.Split('|'); // string[] _fightNpc = func.Numerical2.Split('|'); // string[] _pet = func.Numerical3.Split('|'); // string[] _horse = func.Numerical4.Split('|'); // ModeDefaultConfig = new string[4][]; // ModeDefaultConfig[0] = _funcNpc; // ModeDefaultConfig[1] = _fightNpc; // ModeDefaultConfig[2] = _pet; // ModeDefaultConfig[3] = _horse; // } // if (RealmGroup == null) // { // func = FuncConfigConfig.Get("RealmGroup"); // string[] _group = func.Numerical1.Split('|'); // RealmGroup = new int[_group.Length]; // for (int j = 0; j < _group.Length; ++j) // { // int.TryParse(_group[j], out RealmGroup[j]); // } // } // func = FuncConfigConfig.Get("PrefightAtkRange"); // PrefightAtkRange = float.Parse(func.Numerical1); // inGameDownLoadHighestLevelPoint = GetInt("DownReward", 2); // dungeonCanUseMoneyIds = new List(GetIntArray("FBEnterTickeyAuto", 1)); // dungeonRebornClientTimes = ConfigParse.GetDic(GetInputString("DuplicatesRebornTime", 2)); // dogzBoxLimit = GetInt("DogzBoxLimit"); // fairyGrabBossMapLines = ConfigParse.GetDic(GetInputString("MapLine", 2)); // var grabBossMaps = fairyGrabBossMapLines.Keys.ToList(); // foreach (var _key in grabBossMaps) // { // fairyGrabBossMapLines[_key] = fairyGrabBossMapLines[_key] - 1; // } // if (DropItemEffectMapID == null) // { // DropItemEffectMapID = new Dictionary>(); // } // DropItemEffectMapID.Clear(); // func = FuncConfigConfig.Get("DropItemEffectMapID"); // _data = LitJson.JsonMapper.ToObject(func.Numerical1); // int _itemID; // _keys.Clear(); // _keys.AddRange(_data.Keys); // for (int j = 0; j < _keys.Count; ++j) // { // if (int.TryParse(_keys[j].ToString(), out _itemID)) // { // if (!DropItemEffectMapID.ContainsKey(_itemID)) // { // DropItemEffectMapID.Add(_itemID, new List()); // } // var _jsonMapIDs = _data[_keys[j]]; // foreach (var _jsonMapID in _jsonMapIDs) // { // var _mapID = ((LitJson.IJsonWrapper)_jsonMapID).GetInt(); // if (!DropItemEffectMapID[_itemID].Contains(_mapID)) // { // DropItemEffectMapID[_itemID].Add(_mapID); // } // } // } // } // int[] mapIDs = GetIntArray("RebornAutoFightDungeon"); // RebornAutoFightMapID = new List(mapIDs); // teamWorldCall = GetInputString("TeamWorldCall"); // teamWorldCallInviteCount = GetInt("TeamWorldCall", 2); // var ancientKingAwradConfig = FuncConfigConfig.Get("ElderBattlefieldTopAward"); // if (ancientKingAwradConfig != null) // { // var itemArray = LitJson.JsonMapper.ToObject(ancientKingAwradConfig.Numerical1); // for (int k = 0; k < itemArray.Length; k++) // { // // ancientKingAwards.Add(new Item() // // { // // id = itemArray[k][0], // // count = itemArray[k][1], // // }); // } // } // func = FuncConfigConfig.Get("QualityEffectConfig"); // lowQualityEffectCount = int.Parse(func.Numerical1); // medQualityEffectCount = int.Parse(func.Numerical2); // highQualityEffectCount = int.Parse(func.Numerical3); // func = FuncConfigConfig.Get("QualityPetCountConfig"); // lowQualityPetCount = int.Parse(func.Numerical1); // medQualityPetCount = int.Parse(func.Numerical2); // highQualityPetCount = int.Parse(func.Numerical3); // func = FuncConfigConfig.Get("QualityGuardCountConfig"); // lowQualityGuardCount = int.Parse(func.Numerical1); // medQualityGuardCount = int.Parse(func.Numerical2); // highQualityGuardCount = int.Parse(func.Numerical3); // func = FuncConfigConfig.Get("QualityPetEffectCount"); // lowQualityPetEffectCount = int.Parse(func.Numerical1); // medQualityPetEffectCount = int.Parse(func.Numerical2); // highQualityPetEffectCount = int.Parse(func.Numerical3); // func = FuncConfigConfig.Get("QualityHorseEffectCount"); // lowQualityHorseEffectCount = int.Parse(func.Numerical1); // medQualityHorseEffectCount = int.Parse(func.Numerical2); // highQualityHorseEffectCount = int.Parse(func.Numerical3); // fairyLandBuffCondition = GetInt("XjmjAddHarm", 1); // fairyLandBuffId = GetInt("XjmjAddHarm", 2); // achievementEarlierStageLevel = GetInt("AchieveLV"); // func = FuncConfigConfig.Get("PreloadSkillEffect"); // PreloadSkillEffect = new int[2][]; // PreloadSkillEffect[0] = GetIntArray("PreloadSkillEffect"); // PreloadSkillEffect[1] = GetIntArray("PreloadSkillEffect", 2); // demonJarAutoTime = GetInt("DemonJarAutoTime"); // // if (SgzzRobotEquipDict == null) // // { // // SgzzRobotEquipDict = new Dictionary>(); // // for (int job = 1; job <= 3; ++job) // // { // // string _jsonString = GetInputString("SGZCHelpBattleEquip", job); // // if (string.IsNullOrEmpty(_jsonString)) // // { // // continue; // // } // // var _jsonData = LitJson.JsonMapper.ToObject(_jsonString); // // var _jobDict = new Dictionary(); // // for (i = 0; i < _jsonData.Count; ++i) // // { // // var _lvJson = _jsonData[i]; // // var _lv = (int)_lvJson["LV"]; // // if (!_jobDict.ContainsKey(_lv)) // // { // // var _equips = _lvJson["Equips"]; // // var _randEquip = new GA_NpcFightSgzcZZ.EquipRandomInfo(); // // _randEquip.randClothesItemIDs = new int[_equips[0].Count]; // // for (int j = 0; j < _equips[0].Count; ++j) // // { // // _randEquip.randClothesItemIDs[j] = (int)_equips[0][j]; // // } // // _randEquip.randWeaponItemIDs = new int[_equips[1].Count]; // // for (int j = 0; j < _equips[1].Count; ++j) // // { // // _randEquip.randWeaponItemIDs[j] = (int)_equips[1][j]; // // } // // _randEquip.randSecondaryItemIDs = new int[_equips[2].Count]; // // for (int j = 0; j < _equips[2].Count; ++j) // // { // // _randEquip.randSecondaryItemIDs[j] = (int)_equips[2][j]; // // } // // _randEquip.randWingItemIDs = new int[_equips[3].Count]; // // for (int j = 0; j < _equips[3].Count; ++j) // // { // // _randEquip.randWingItemIDs[j] = (int)_equips[3][j]; // // } // // _randEquip.godWeaponIDs = new int[_equips[4].Count]; // // for (int j = 0; j < _equips[4].Count; ++j) // // { // // _randEquip.godWeaponIDs[j] = (int)_equips[4][j]; // // } // // _jobDict.Add(_lv, _randEquip); // // } // // } // // SgzzRobotEquipDict.Add(job, _jobDict); // // } // // } // if (SgzcRealm == null) // { // SgzcRealm = new Dictionary(); // var _lvArr = GetInputString("SGZCRobotRealm", 1).Split('|'); // var _rLvArr = GetInputString("SGZCRobotRealm", 2).Split('|'); // for (int j = 0; j < _lvArr.Length; ++j) // { // SgzcRealm[int.Parse(_lvArr[j])] = int.Parse(_rLvArr[j]); // } // } // crossServerBattleFieldOpenDay = GetInt("CrossRealmCfg", 2); // UISpringDecorate = GetInt("UISpringDecorate"); // mixServerCustomDays = GetInt("MixServer"); // openServerCustomDays = GetInt("OperationAction"); // ClientPvpAttributePer = GetInt("ClientPvPAttributePer") * Constants.F_DELTA; // mysteryShopRefreshItem = GetInt("MysteryShopRefresh"); // mysteryShopRefreshItemCount = new Dictionary(); // var mysteryShopJson = JsonMapper.ToObject(GetInputString("MysteryShopRefresh", 2)); // foreach (var key in mysteryShopJson.Keys) // { // var time = int.Parse(key); // mysteryShopRefreshItemCount[time] = (int)mysteryShopJson[key]; // } // mysteryShopRefreshItemValue = GetInt("MysteryShopRefresh", 3); // mysteryShopRefreshInterval = GetInt("MysteryShopRefresh", 4); // var equipStarConfig = FuncConfigConfig.Get("EquipPartStar"); // var equipStarJson = LitJson.JsonMapper.ToObject(equipStarConfig.Numerical1); // equipStarLimit = new Dictionary>(); // foreach (var itemColorKey in equipStarJson.Keys) // { // var itemColor = int.Parse(itemColorKey); // Dictionary dict = new Dictionary(); // foreach (var itemLevelKey in equipStarJson[itemColorKey].Keys) // { // var itemLevel = int.Parse(itemLevelKey); // var starLimit = int.Parse(equipStarJson[itemColorKey][itemLevelKey].ToString()); // dict.Add(itemLevel, starLimit); // } // equipStarLimit.Add(itemColor, dict); // } // equipTrainMustItemId = GetInt("EquipWashMustID"); // acutionItemHour = GetInt("AuctionItem"); // mainWinTopCloseTime = GetInt("AutomaticSwitch"); // equipDecomposeScreen.AddRange(GetIntArray("EquipDecomposeScreen", 2)); // func = FuncConfigConfig.Get("AtkTypeIncreasePushDis"); // var _ks = func.Numerical1.Split('|'); // var _vs = func.Numerical2.Split('|'); // for (i = 0; i < _ks.Length; ++i) // { // AtkTypeIncreasePushDis[int.Parse(_ks[i])] = int.Parse(_vs[i]) * Constants.F_DELTA; // } // func = FuncConfigConfig.Get("NpcDieSetCamera"); // if (func != null) // { // var _jsonData = LitJson.JsonMapper.ToObject(func.Numerical1); // for (i = 0; i < _jsonData.Count; ++i) // { // var _child = _jsonData[i]; // // var _lookAtData = new CameraController.LookAtData(); // // _lookAtData.position = new Vector3(MathUtility.GetFloatFromLitJson(_child[1][0]), // // MathUtility.GetFloatFromLitJson(_child[1][1]), // // MathUtility.GetFloatFromLitJson(_child[1][2])); // // _lookAtData.rotX = (int)_child[2]; // // _lookAtData.rotY = (int)_child[3]; // // _lookAtData.lastTime = MathUtility.GetFloatFromLitJson(_child[4]); // // NpcDieSetCamera[(int)_child[0]] = _lookAtData; // } // } // WorkForEnemySkills = GetIntArray("ArenaSetSkills", 1); // WorkForMeSkills = GetIntArray("ArenaSetSkills", 2); // WorkNotSkills = GetIntArray("ArenaSetSkills", 3); // defenseGetWays = GetIntArray("DefenseGetWays", 1); // skillYinjis = ConfigParse.GetDic(GetInputString("SkillYinji", 1)); // onlyUsedAtBackpackItems = new List(GetIntArray("ItemPush", 2)); // var signInSkillArray = GetIntArray("SignInPromoteSkill", 1); // if (signInSkillArray != null) // { // signInPromoteSkills.AddRange(signInSkillArray); // } // MasteryLoadingLevelLimit1 = GetInt("MasteryLoadingLevelLimit"); // MasteryLoadingLevelLimit2 = GetInt("MasteryLoadingLevelLimit", 2); // chestDisplayItems = new List(GetIntArray("ChestShowItems")); // func = FuncConfigConfig.Get("Zhanling"); // if (func != null) // { // OldZhanLingCtgIdDict = new Dictionary(); // ZhanLingCtgIdDict = new Dictionary>(); // var tempDict = JsonMapper.ToObject(func.Numerical1); // var keyList = tempDict.Keys.ToList(); // for (int j = 0; j < keyList.Count; j++) // { // OldZhanLingCtgIdDict[int.Parse(keyList[j])] = JsonMapper.ToObject>(tempDict[keyList[j]].ToJson())[0]; // ZhanLingCtgIdDict[int.Parse(keyList[j])] = JsonMapper.ToObject>(tempDict[keyList[j]].ToJson()); // } // ZhanLingCtgIdHDict = new Dictionary>(); // tempDict = JsonMapper.ToObject(func.Numerical3); // keyList = tempDict.Keys.ToList(); // for (int k = 0; k < keyList.Count; k++) // { // ZhanLingCtgIdHDict[int.Parse(keyList[k])] = JsonMapper.ToObject>(tempDict[keyList[k]].ToJson()); // } // } // func = FuncConfigConfig.Get("FBQuickPass"); // fightPowerMore = float.Parse(func.Numerical1) + 0.01f; //疑似玩家无法雷诛是C/S计算不对等问题,所以加0.01f // flashOpenArr = JsonMapper.ToObject(func.Numerical2); // flashCntMoreArr = JsonMapper.ToObject(func.Numerical3); // flashKillMaxCount = int.Parse(func.Numerical4); } catch (Exception ex) { Debug.LogError(ex); } } public static string GetJobHeadPortrait(int _job, int _ReincarnationLv) { if (jobHeadPortrait.ContainsKey(_job) && jobHeadPortrait[_job].ContainsKey(_ReincarnationLv)) { return jobHeadPortrait[_job][_ReincarnationLv]; } else { return string.Empty; } } public static List GetAttrIdsBySkill(int _skillId) { if (skillAttrIDDict.ContainsKey(_skillId)) { return skillAttrIDDict[_skillId]; } return null; } public static string GetOtherJobHeadPortrait(int _job, int _ReincarnationLv) { if (otherjobHeadPortrait.ContainsKey(_job) && otherjobHeadPortrait[_job].ContainsKey(_ReincarnationLv)) { return otherjobHeadPortrait[_job][_ReincarnationLv]; } else { return string.Empty; } } public static PackType GetPackTypeByItemType(int itemType) { foreach (var key in itemPutInPackDict.Keys) { var types = itemPutInPackDict[key]; if (types.Contains(itemType)) { return (PackType)key; } } return PackType.Item; } public static int GetInt(string _key, int _index = 1) { var result = 0; int.TryParse(GetInputString(_key, _index), out result); return result; } public static float GetFloat(string _key, int _index = 1) { var result = 0f; float.TryParse(GetInputString(_key, _index), out result); return result; } public static bool GetBool(string _key, int _index = 1) { var result = false; bool.TryParse(GetInputString(_key, _index), out result); return result; } public static int[] GetIntArray(string _key, int _index = 1) { var inputString = GetInputString(_key, _index); var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); if (stringArray.Length == 0) { return null; } var result = new int[stringArray.Length]; for (int i = 0; i < stringArray.Length; i++) { int.TryParse(stringArray[i], out result[i]); } return result; } public static string[] GetStringArray(string _key, int _index = 1) { var inputString = GetInputString(_key, _index); var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); if (stringArray.Length == 0) { return null; } var result = new string[stringArray.Length]; for (int i = 0; i < stringArray.Length; i++) { result[i] = stringArray[i]; } return result; } public static float[] GetFloatArray(string _key, int _index = 1) { var inputString = GetInputString(_key, _index); var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); if (stringArray.Length == 0) { return null; } var result = new float[stringArray.Length]; for (int i = 0; i < stringArray.Length; i++) { float.TryParse(stringArray[i], out result[i]); } return result; } public static bool[] GetBoolArray(string _key, int _index = 1) { var inputString = GetInputString(_key, _index); var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); if (stringArray.Length == 0) { return null; } var result = new bool[stringArray.Length]; for (int i = 0; i < stringArray.Length; i++) { bool.TryParse(stringArray[i], out result[i]); } return result; } public static List GetTimeArray(string _key, int _index = 1) { var configContent = GetInputString(_key, _index); var stringArray = configContent.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); var timeList = new List(); for (int i = 0; i < stringArray.Length; i++) { var input = stringArray[i]; var matches = Regex.Matches(input, "[0-9]{1,2}"); var hour = matches.Count > 0 ? int.Parse(matches[0].Value) : 0; var minute = matches.Count > 1 ? int.Parse(matches[1].Value) : 0; timeList.Add(hour * 60 + minute); } return timeList; } public static string GetInputString(string _key, int _index = 1) { var config = FuncConfigConfig.Get(_key); var inputString = string.Empty; switch (_index) { case 1: inputString = config.Numerical1; break; case 2: inputString = config.Numerical2; break; case 3: inputString = config.Numerical3; break; case 4: inputString = config.Numerical4; break; case 5: inputString = config.Numerical5; break; } return inputString; } }