From 1868bc632a9134b6891d4fc5f427e3f280b9e973 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 18 十月 2018 09:53:30 +0800
Subject: [PATCH] 3335 代码维护,修改通用配置定义类型。
---
System/GeneralConfig/GeneralDefine.cs | 1398 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 699 insertions(+), 699 deletions(-)
diff --git a/System/GeneralConfig/GeneralConfig.cs b/System/GeneralConfig/GeneralDefine.cs
similarity index 72%
rename from System/GeneralConfig/GeneralConfig.cs
rename to System/GeneralConfig/GeneralDefine.cs
index b5e5184..aa35401 100644
--- a/System/GeneralConfig/GeneralConfig.cs
+++ b/System/GeneralConfig/GeneralDefine.cs
@@ -1,699 +1,699 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using TableConfig;
-using System;
-using System.Text.RegularExpressions;
-using System.Linq;
-using Snxxz.UI;
-
-public class GeneralConfig : Singleton<GeneralConfig>
-{
- public int greatMasterStartLV { get; private set; }
- public int playerMaxLevel { get; private set; }
- public float potentialUpSuccessRecommend { get; private set; }
- public int[] kylinHomeCollectItems;
- public List<int> dailyQuestOpenTime;
- public int flyBootItemId { get; private set; }
- public int teamReadyTime { get; private set; }
- public int elderGodAreaAngerTotal { get; private set; }
- public float petRandomSpeak { get; private set; }
- public int[] openJobs { get; private set; }
- public int playerNameLength { get; private set; }
- public int guardDungeonCageNPCID { get; private set; }
- public float guardBubbleInterval { get; private set; }
- public List<int> autoOnHookMap { get; private set; }
- public float autoRideHorse { get; private set; }
- public Dictionary<int, string> equipPlaceNameDict { get; private set; }
- public Dictionary<int, int> moneyDisplayIds { get; private set; }
- public int expDisplayId { get; private set; }
- public float xpGuideDelay { get; private set; }
- public float xpGuideDuration { get; private set; }
- public Dictionary<int, string> trailBossHeadIcons { get; private set; }
- public Dictionary<int, string> godWeaponMobs { get; private set; }
- public float ResetComAtkTime { get; private set; }
- public int RotateSpeed { get; private set; }
- public float CloseNpcDist { get; private set; }
- public float FarawayNpcDist { get; private set; }
- public List<int> SpecialNpcIDs { get; private set; }
- public Dictionary<int, int> wingEquipLimits { get; private set; }
- public float PetDanceInterval { get; private set; }
- public float FuncNpcDanceInterval { get; private set; }
- public float audioScaleWhenFullScreenOn { get; private set; }
- public int ruinsTranscriptMapId { get; private set; }
- public List<int> GuardianPickUpID { get; private set; }
- public List<int> EarlierGetTreasure { get; private set; }
- public int BossSound { get; private set; }
- public Dictionary<int, int> iceCrystalMonsterScores { get; private set; }
- public float PlayBossHurtInterval { get; private set; }
- public List<int> NoXpDungeons { get; private set; }
- public List<int> RandomJobs { get; private set; }
- public int elderGodTalkingTime { get; private set; }
- public int elderGodBigBoss { get; private set; }
- public List<int> PassiveSkillShow { get; private set; }
- public List<int> bossShuntMaps { get; private set; }
- public int bossShuntDays { get; private set; }
- public Dictionary<int, int[]> itemDropEffect = new Dictionary<int, int[]>();
- public Dictionary<int, int[]> xllyDropEffect = new Dictionary<int, int[]>();
- public Dictionary<int, int[]> xqryDropEffect = new Dictionary<int, int[]>();
- public Dictionary<int, List<int[]>> customDropEffect = new Dictionary<int, List<int[]>>();
- public Dictionary<int, int> dropEffectQuality = new Dictionary<int, int>();
- public Dictionary<int, int> BuffToHitEffect = new Dictionary<int, int>();
-
- //鍙傛暟int锛宨nt 锛宻tring 鍒嗗埆琛ㄧず鑱屼笟锛岃浆鐢熺瓑绾э紝icon
- Dictionary<int, Dictionary<int, string>> jobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
- Dictionary<int, Dictionary<int, string>> otherjobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
- public Dictionary<int, int> bossWearyValues = new Dictionary<int, int>();
- public Dictionary<int, Vector3> NpcPosOffset = new Dictionary<int, Vector3>();
- public Dictionary<int, string> propertyIconDict = new Dictionary<int, string>();
-
- public int demonJarHintLevelLimit { get; private set; }
- public int demonJarHintLineId { get; private set; }
- public int skillPanelUnLock { get; private set; }
- public int dailyQuestRedpointLevelLimit { get; private set; }
- public int lowHpRemind { get; private set; }
- public int munekadolockLimit { get; private set; }
- public int maxItemDropEffectCount { get; private set; }
-
- public int[] autoBuyItemIds;
- public int[] autoBuyItemPrices;
-
- public List<int> neutralMaps = new List<int>();
- public List<int> neutralBossMaps = new List<int>();
-
- public int demonJarRedPoint { get; private set; }
- public string LoadLV { get; private set; }
-
- public float mainWinSkillResetTime { get; private set; }
- public int OffLineTimeLackRemendLevelLimit { get; private set; }
- public Vector3 heroDialogueOffset { get; private set; }
- public Vector3 heroDialogueRotation { get; private set; }
- public float heroDialogueScale { get; private set; }
-
- public List<int> ancientGrandTotalAchievements { get; private set; }
- public List<int> ancientContinueKillAchievements { get; private set; }
-
- public int trialDungeonGroupChallengeTipLv { get; private set; }
- public int prayerRedpointLimitLv { get; private set; }
-
- public int demonJarLevelLimit { get; private set; }
-
- public int fairyLandGuideId = 82;
-
- public int specialGuide41Mission { get; private set; }
- public int specialGuide41Achievement { get; private set; }
-
- public int supremeRechargeVipLv { get; private set; }
-
- public int rechargeRedpointLv { get; private set; }
- public int rechargeRedpointMinLv { get; private set; }
-
- public int runeTowerSweepBuyTimes { get; private set; }
- public int runeTowerSweepBuyPrice { get; private set; }
-
- public int teamMatchingTimeOut { get; private set; }
- public List<int> inGameDownLoadLevelCheckPoints = null;
- public List<int> inGameDownLoadTaskCheckPoints = null;
- public int inGameDownLoadHighLevel { get; private set; }
- public List<int> worldBossNoRebornRemindMaps = null;
- public List<int> bossHomeNoRebornRemindMaps = null;
- public List<int> elderGodNoRebornRemindMaps = null;
- public List<int> demonJarNoRebornRemindMaps = null;
- public List<int> dogzNoRebornRemindMaps = null;
-
- public string[][] ModeDefaultConfig { get; private set; }
- public int[] RealmGroup { get; private set; }
- public float PrefightAtkRange { get; private set; }
-
- public Dictionary<int, string> multipleRealmImgDict { get; private set; }
-
- public int inGameDownLoadHighestLevelPoint { get; private set; }
-
- public List<int> dungeonCanUseMoneyIds { get; private set; }
- public int dogzBoxLimit { get; private set; }
-
- public Dictionary<int, int> dungeonRebornClientTimes { get; private set; }
- public int[] CompareEquipPlaces { get; private set; }
- public Dictionary<int, int> fairyGrabBossMapLines { get; private set; }
-
- public Dictionary<int, List<int>> DropItemEffectMapID { get; private set; }
-
- public List<int> RebornAutoFightMapID { get; private set; }
-
- public string teamWorldCall;
- public int teamWorldCallInviteCount;
-
- public List<Item> ancientKingAwards = new List<Item>();
-
- public int lowQualityCount { get; private set; }
- public int medQualityCount { get; private set; }
- public int highQualityCount { get; private set; }
-
- public void Init()
- {
- try
- {
- CompareEquipPlaces = GetIntArray("EquipUpType");
- greatMasterStartLV = GetInt("GreatMasterStartLV");
- playerMaxLevel = GetInt("PlayerMaxLV");
- potentialUpSuccessRecommend = GetFloat("SPSkillType", 2) * 0.0001f;
- kylinHomeCollectItems = GetIntArray("KirinNpc", 2);
- dailyQuestOpenTime = GetTimeArray("ActionTime", 1);
- flyBootItemId = GetInt("TransportPay");
- 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<int, int>(GetInputString("MoneyDisplayModel", 1));
- expDisplayId = GetInt("MoneyDisplayModel", 2);
- openJobs = GetIntArray("OpenJob");
- xpGuideDelay = GetFloat("GuideConfig");
- xpGuideDuration = GetFloat("GuideConfig", 2);
- ResetComAtkTime = GetFloat("AtkWaitingTime");
- autoOnHookMap = new List<int>(GetIntArray("AutoOnHookMap"));
- GuardianPickUpID = new List<int>(GetIntArray("GuardianPickUpID"));
- RotateSpeed = GetInt("RoleTurnedAngle");
- CloseNpcDist = GetFloat("ConversationDistanc", 2);
- FarawayNpcDist = GetFloat("ConversationDistanc");
- SpecialNpcIDs = new List<int>(GetIntArray("SpecialCollectNpcs", 1));
- PetDanceInterval = GetInt("PetDanceInterval") * Constants.F_GAMMA;
- FuncNpcDanceInterval = GetInt("PetDanceInterval",2) * Constants.F_GAMMA;
- ruinsTranscriptMapId = GetInt("SpRewardMapID");
- EarlierGetTreasure = new List<int>(GetIntArray("EarlierGetTreasure"));
- BossSound = GetInt("BossSound");
- PlayBossHurtInterval = GetFloat("BossSound", 2);
- var jobHeadPortraitConfig1 = Config.Instance.Get<FuncConfigConfig>("Job1Head");
- jobHeadPortrait[1] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig1.Numerical1);
- otherjobHeadPortrait[1] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig1.Numerical2);
-
- var jobHeadPortraitConfig2 = Config.Instance.Get<FuncConfigConfig>("Job2Head");
- jobHeadPortrait[2] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig2.Numerical1);
- otherjobHeadPortrait[2] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig2.Numerical2);
-
- var jobHeadPortraitConfig3 = Config.Instance.Get<FuncConfigConfig>("Job3Head");
- jobHeadPortrait[3] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig3.Numerical1);
- otherjobHeadPortrait[3] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig3.Numerical2);
-
- bossWearyValues = ConfigParse.GetDic<int, int>(GetInputString("KillBossCntLimit", 2));
- wingEquipLimits = ConfigParse.GetDic<int, int>(GetInputString("WingRealmLimit", 1));
- int i = 0;
- int[] equipPlaces = GetIntArray("EquipArea", 1);
- string[] equipPlacesNames = GetStringArray("EquipArea", 2);
- equipPlaceNameDict = new Dictionary<int, string>();
- for (i = 0; i < equipPlaces.Length; i++)
- {
- if (!equipPlaceNameDict.ContainsKey(equipPlaces[i]))
- {
- equipPlaceNameDict.Add(equipPlaces[i], equipPlacesNames[i]);
- }
- else
- {
- DebugEx.LogError("EquipArea : 瑁呭浣嶇疆閲嶅");
- }
- }
- var _trailBossJson = LitJson.JsonMapper.ToObject(GetInputString("MuneKadoTrialBossHead", 1));
- trailBossHeadIcons = new Dictionary<int, string>();
- foreach (var _key in _trailBossJson.Keys)
- {
- var _npcId = int.Parse(_key);
- if (!trailBossHeadIcons.ContainsKey(_npcId))
- {
- trailBossHeadIcons.Add(_npcId, _trailBossJson[_key].ToString());
- }
- }
- var _godWeaponJson = LitJson.JsonMapper.ToObject(GetInputString("GodModel", 1));
- godWeaponMobs = new Dictionary<int, string>();
- 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<int, int>(GetInputString("IceLodeNeedPoint", 2));
-
- NoXpDungeons = new List<int>(GetIntArray("XpNoUseDungeon"));
- RandomJobs = new List<int>(GetIntArray("RandomJob"));
- elderGodTalkingTime = GetInt("ElderGodTalkingTime");
- elderGodBigBoss = GetInt("ElderGodBigBoss");
- PassiveSkillShow = new List<int>(GetIntArray("PassiveSkillShow"));
-
- FuncConfigConfig func = Config.Instance.Get<FuncConfigConfig>("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]));
- }
-
- FuncConfigConfig nxxdImg = Config.Instance.Get<FuncConfigConfig>("NXXDPicture");
- LitJson.JsonData nxxdData = LitJson.JsonMapper.ToObject(nxxdImg.Numerical1);
- multipleRealmImgDict = new Dictionary<int, string>();
- 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<int>(GetIntArray("BossShunt"));
- bossShuntDays = GetInt("BossShunt", 3);
-
- itemDropEffect.Clear();
- func = Config.Instance.Get<FuncConfigConfig>("ItemEquipmentEffect");
- _data = LitJson.JsonMapper.ToObject(func.Numerical1);
- List<string> _keys = new List<string>(_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 = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("ItemEquipmentEffectItem");
- _data = LitJson.JsonMapper.ToObject(func.Numerical1);
- _keys.Clear();
- _keys.AddRange(_data.Keys);
- int[] _tmp = null;
- List<int[]> _content = null;
- for (i = 0; i < _keys.Count; ++i)
- {
- _content = new List<int[]>();
- 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 = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("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");
- OffLineTimeLackRemendLevelLimit = GetInt("TJGLevelLimit");
- heroDialogueOffset = GetInputString("NpcHalfLength", 1).Vector3Parse();
- heroDialogueRotation = GetInputString("NpcHalfLength", 2).Vector3Parse();
- heroDialogueScale = GetFloat("NpcHalfLength", 3);
-
- var ancientConfig = Config.Instance.Get<FuncConfigConfig>("ElderBattleTarget");
- ancientGrandTotalAchievements = new List<int>();
- ancientGrandTotalAchievements.AddRange(ConfigParse.GetMultipleStr<int>(ancientConfig.Numerical1));
- ancientContinueKillAchievements = new List<int>();
- ancientContinueKillAchievements.AddRange(ConfigParse.GetMultipleStr<int>(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<int>(GetIntArray("InGameDownLoad"));
- inGameDownLoadTaskCheckPoints = new List<int>(GetIntArray("InGameDownLoad", 2));
- inGameDownLoadHighLevel = GetInt("InGameDownLoad", 3);
-
- worldBossNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 1));
- bossHomeNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 2));
- elderGodNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 3));
- demonJarNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 4));
- dogzNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 5));
-
- if (ModeDefaultConfig == null)
- {
- func = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("PrefightAtkRange");
- PrefightAtkRange = float.Parse(func.Numerical1);
- inGameDownLoadHighestLevelPoint = GetInt("DownReward", 2);
-
- dungeonCanUseMoneyIds = new List<int>(GetIntArray("FBEnterTickeyAuto", 1));
- dungeonRebornClientTimes = ConfigParse.GetDic<int, int>(GetInputString("DuplicatesRebornTime", 2));
- dogzBoxLimit = GetInt("DogzBoxLimit");
-
- fairyGrabBossMapLines = ConfigParse.GetDic<int, int>(GetInputString("MapLine", 2));
- var grabBossMaps = fairyGrabBossMapLines.Keys.ToList();
- foreach (var _key in grabBossMaps)
- {
- fairyGrabBossMapLines[_key] = fairyGrabBossMapLines[_key] - 1;
- }
-
- if (DropItemEffectMapID == null)
- {
- DropItemEffectMapID = new Dictionary<int, List<int>>();
- }
- DropItemEffectMapID.Clear();
- func = Config.Instance.Get<FuncConfigConfig>("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<int>());
- }
- 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<int>(mapIDs);
-
- teamWorldCall = GetInputString("TeamWorldCall");
- teamWorldCallInviteCount = GetInt("TeamWorldCall", 2);
-
- var ancientKingAwradConfig = Config.Instance.Get<FuncConfigConfig>("ElderBattlefieldTopAward");
- if (ancientKingAwradConfig != null)
- {
- var itemArray = LitJson.JsonMapper.ToObject<int[][]>(ancientKingAwradConfig.Numerical1);
- for (int k = 0; k < itemArray.Length; k++)
- {
- ancientKingAwards.Add(new Item()
- {
- id = itemArray[k][0],
- count = itemArray[k][1],
- bind = itemArray[k][2] == 1,
- });
- }
- }
-
- func = Config.Instance.Get<FuncConfigConfig>("QualityEffectConfig");
- lowQualityCount = int.Parse(func.Numerical1);
- medQualityCount = int.Parse(func.Numerical2);
- highQualityCount = int.Parse(func.Numerical3);
- }
- catch (Exception ex)
- {
- Debug.LogError(ex);
- }
-
- }
-
- public string GetJobHeadPortrait(int _job, int _ReincarnationLv)
- {
- if (jobHeadPortrait.ContainsKey(_job) && jobHeadPortrait[_job].ContainsKey(_ReincarnationLv))
- {
- return jobHeadPortrait[_job][_ReincarnationLv];
- }
- else
- {
- return string.Empty;
- }
- }
-
- public string GetOtherJobHeadPortrait(int _job, int _ReincarnationLv)
- {
- if (otherjobHeadPortrait.ContainsKey(_job) && otherjobHeadPortrait[_job].ContainsKey(_ReincarnationLv))
- {
- return otherjobHeadPortrait[_job][_ReincarnationLv];
- }
- else
- {
- return string.Empty;
- }
- }
-
- private int GetInt(string _key, int _index = 1)
- {
- var result = 0;
- int.TryParse(GetInputString(_key, _index), out result);
- return result;
- }
-
- private float GetFloat(string _key, int _index = 1)
- {
- var result = 0f;
- float.TryParse(GetInputString(_key, _index), out result);
- return result;
- }
-
- private bool GetBool(string _key, int _index = 1)
- {
- var result = false;
- bool.TryParse(GetInputString(_key, _index), out result);
- return result;
- }
-
- private 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;
- }
-
- private 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;
- }
-
-
- private 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;
- }
-
- private 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;
- }
-
- private List<int> GetTimeArray(string _key, int _index = 1)
- {
- var configContent = GetInputString(_key, _index);
- var stringArray = configContent.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
- var timeList = new List<int>();
- 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;
- }
-
- private string GetInputString(string _key, int _index = 1)
- {
- var config = Config.Instance.Get<FuncConfigConfig>(_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;
- }
-
-
-}
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using TableConfig;
+using System;
+using System.Text.RegularExpressions;
+using System.Linq;
+using Snxxz.UI;
+
+public class GeneralDefine
+{
+ public static int greatMasterStartLV { get; private set; }
+ public static int playerMaxLevel { get; private set; }
+ public static float potentialUpSuccessRecommend { get; private set; }
+ public static int[] kylinHomeCollectItems;
+ public static List<int> dailyQuestOpenTime;
+ public static int flyBootItemId { 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<int> autoOnHookMap { get; private set; }
+ public static float autoRideHorse { get; private set; }
+ public static Dictionary<int, string> equipPlaceNameDict { get; private set; }
+ public static Dictionary<int, int> 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<int, string> trailBossHeadIcons { get; private set; }
+ public static Dictionary<int, string> 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<int> SpecialNpcIDs { get; private set; }
+ public static Dictionary<int, int> 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<int> GuardianPickUpID { get; private set; }
+ public static List<int> EarlierGetTreasure { get; private set; }
+ public static int BossSound { get; private set; }
+ public static Dictionary<int, int> iceCrystalMonsterScores { get; private set; }
+ public static float PlayBossHurtInterval { get; private set; }
+ public static List<int> NoXpDungeons { get; private set; }
+ public static List<int> RandomJobs { get; private set; }
+ public static int elderGodTalkingTime { get; private set; }
+ public static int elderGodBigBoss { get; private set; }
+ public static List<int> PassiveSkillShow { get; private set; }
+ public static List<int> bossShuntMaps { get; private set; }
+ public static int bossShuntDays { get; private set; }
+ public static Dictionary<int, int[]> itemDropEffect = new Dictionary<int, int[]>();
+ public static Dictionary<int, int[]> xllyDropEffect = new Dictionary<int, int[]>();
+ public static Dictionary<int, int[]> xqryDropEffect = new Dictionary<int, int[]>();
+ public static Dictionary<int, List<int[]>> customDropEffect = new Dictionary<int, List<int[]>>();
+ public static Dictionary<int, int> dropEffectQuality = new Dictionary<int, int>();
+ public static Dictionary<int, int> BuffToHitEffect = new Dictionary<int, int>();
+
+ //鍙傛暟int锛宨nt 锛宻tring 鍒嗗埆琛ㄧず鑱屼笟锛岃浆鐢熺瓑绾э紝icon
+ static Dictionary<int, Dictionary<int, string>> jobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
+ static Dictionary<int, Dictionary<int, string>> otherjobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
+ public static Dictionary<int, int> bossWearyValues = new Dictionary<int, int>();
+ public static Dictionary<int, Vector3> NpcPosOffset = new Dictionary<int, Vector3>();
+ public static Dictionary<int, string> propertyIconDict = new Dictionary<int, string>();
+
+ 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<int> neutralMaps = new List<int>();
+ public static List<int> neutralBossMaps = new List<int>();
+
+ public static int demonJarRedPoint { get; private set; }
+ public static string LoadLV { get; private set; }
+
+ public static float mainWinSkillResetTime { get; private set; }
+ public static int OffLineTimeLackRemendLevelLimit { 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<int> ancientGrandTotalAchievements { get; private set; }
+ public static List<int> 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<int> inGameDownLoadLevelCheckPoints = null;
+ public static List<int> inGameDownLoadTaskCheckPoints = null;
+ public static int inGameDownLoadHighLevel { get; private set; }
+ public static List<int> worldBossNoRebornRemindMaps = null;
+ public static List<int> bossHomeNoRebornRemindMaps = null;
+ public static List<int> elderGodNoRebornRemindMaps = null;
+ public static List<int> demonJarNoRebornRemindMaps = null;
+ public static List<int> dogzNoRebornRemindMaps = null;
+
+ public static string[][] ModeDefaultConfig { get; private set; }
+ public static int[] RealmGroup { get; private set; }
+ public static float PrefightAtkRange { get; private set; }
+
+ public static Dictionary<int, string> multipleRealmImgDict { get; private set; }
+
+ public static int inGameDownLoadHighestLevelPoint { get; private set; }
+
+ public static List<int> dungeonCanUseMoneyIds { get; private set; }
+ public static int dogzBoxLimit { get; private set; }
+
+ public static Dictionary<int, int> dungeonRebornClientTimes { get; private set; }
+ public static int[] CompareEquipPlaces { get; private set; }
+ public static Dictionary<int, int> fairyGrabBossMapLines { get; private set; }
+
+ public static Dictionary<int, List<int>> DropItemEffectMapID { get; private set; }
+
+ public static List<int> RebornAutoFightMapID { get; private set; }
+
+ public static string teamWorldCall;
+ public static int teamWorldCallInviteCount;
+
+ public static List<Item> ancientKingAwards = new List<Item>();
+
+ public static int lowQualityCount { get; private set; }
+ public static int medQualityCount { get; private set; }
+ public static int highQualityCount { get; private set; }
+
+ public static void Init()
+ {
+ try
+ {
+ CompareEquipPlaces = GetIntArray("EquipUpType");
+ greatMasterStartLV = GetInt("GreatMasterStartLV");
+ playerMaxLevel = GetInt("PlayerMaxLV");
+ potentialUpSuccessRecommend = GetFloat("SPSkillType", 2) * 0.0001f;
+ kylinHomeCollectItems = GetIntArray("KirinNpc", 2);
+ dailyQuestOpenTime = GetTimeArray("ActionTime", 1);
+ flyBootItemId = GetInt("TransportPay");
+ 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<int, int>(GetInputString("MoneyDisplayModel", 1));
+ expDisplayId = GetInt("MoneyDisplayModel", 2);
+ openJobs = GetIntArray("OpenJob");
+ xpGuideDelay = GetFloat("GuideConfig");
+ xpGuideDuration = GetFloat("GuideConfig", 2);
+ ResetComAtkTime = GetFloat("AtkWaitingTime");
+ autoOnHookMap = new List<int>(GetIntArray("AutoOnHookMap"));
+ GuardianPickUpID = new List<int>(GetIntArray("GuardianPickUpID"));
+ RotateSpeed = GetInt("RoleTurnedAngle");
+ CloseNpcDist = GetFloat("ConversationDistanc", 2);
+ FarawayNpcDist = GetFloat("ConversationDistanc");
+ SpecialNpcIDs = new List<int>(GetIntArray("SpecialCollectNpcs", 1));
+ PetDanceInterval = GetInt("PetDanceInterval") * Constants.F_GAMMA;
+ FuncNpcDanceInterval = GetInt("PetDanceInterval", 2) * Constants.F_GAMMA;
+ ruinsTranscriptMapId = GetInt("SpRewardMapID");
+ EarlierGetTreasure = new List<int>(GetIntArray("EarlierGetTreasure"));
+ BossSound = GetInt("BossSound");
+ PlayBossHurtInterval = GetFloat("BossSound", 2);
+ var jobHeadPortraitConfig1 = Config.Instance.Get<FuncConfigConfig>("Job1Head");
+ jobHeadPortrait[1] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig1.Numerical1);
+ otherjobHeadPortrait[1] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig1.Numerical2);
+
+ var jobHeadPortraitConfig2 = Config.Instance.Get<FuncConfigConfig>("Job2Head");
+ jobHeadPortrait[2] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig2.Numerical1);
+ otherjobHeadPortrait[2] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig2.Numerical2);
+
+ var jobHeadPortraitConfig3 = Config.Instance.Get<FuncConfigConfig>("Job3Head");
+ jobHeadPortrait[3] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig3.Numerical1);
+ otherjobHeadPortrait[3] = ConfigParse.GetDic<int, string>(jobHeadPortraitConfig3.Numerical2);
+
+ bossWearyValues = ConfigParse.GetDic<int, int>(GetInputString("KillBossCntLimit", 2));
+ wingEquipLimits = ConfigParse.GetDic<int, int>(GetInputString("WingRealmLimit", 1));
+ int i = 0;
+ int[] equipPlaces = GetIntArray("EquipArea", 1);
+ string[] equipPlacesNames = GetStringArray("EquipArea", 2);
+ equipPlaceNameDict = new Dictionary<int, string>();
+ for (i = 0; i < equipPlaces.Length; i++)
+ {
+ if (!equipPlaceNameDict.ContainsKey(equipPlaces[i]))
+ {
+ equipPlaceNameDict.Add(equipPlaces[i], equipPlacesNames[i]);
+ }
+ else
+ {
+ DebugEx.LogError("EquipArea : 瑁呭浣嶇疆閲嶅");
+ }
+ }
+ var _trailBossJson = LitJson.JsonMapper.ToObject(GetInputString("MuneKadoTrialBossHead", 1));
+ trailBossHeadIcons = new Dictionary<int, string>();
+ foreach (var _key in _trailBossJson.Keys)
+ {
+ var _npcId = int.Parse(_key);
+ if (!trailBossHeadIcons.ContainsKey(_npcId))
+ {
+ trailBossHeadIcons.Add(_npcId, _trailBossJson[_key].ToString());
+ }
+ }
+ var _godWeaponJson = LitJson.JsonMapper.ToObject(GetInputString("GodModel", 1));
+ godWeaponMobs = new Dictionary<int, string>();
+ 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<int, int>(GetInputString("IceLodeNeedPoint", 2));
+
+ NoXpDungeons = new List<int>(GetIntArray("XpNoUseDungeon"));
+ RandomJobs = new List<int>(GetIntArray("RandomJob"));
+ elderGodTalkingTime = GetInt("ElderGodTalkingTime");
+ elderGodBigBoss = GetInt("ElderGodBigBoss");
+ PassiveSkillShow = new List<int>(GetIntArray("PassiveSkillShow"));
+
+ FuncConfigConfig func = Config.Instance.Get<FuncConfigConfig>("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]));
+ }
+
+ FuncConfigConfig nxxdImg = Config.Instance.Get<FuncConfigConfig>("NXXDPicture");
+ LitJson.JsonData nxxdData = LitJson.JsonMapper.ToObject(nxxdImg.Numerical1);
+ multipleRealmImgDict = new Dictionary<int, string>();
+ 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<int>(GetIntArray("BossShunt"));
+ bossShuntDays = GetInt("BossShunt", 3);
+
+ itemDropEffect.Clear();
+ func = Config.Instance.Get<FuncConfigConfig>("ItemEquipmentEffect");
+ _data = LitJson.JsonMapper.ToObject(func.Numerical1);
+ List<string> _keys = new List<string>(_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 = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("ItemEquipmentEffectItem");
+ _data = LitJson.JsonMapper.ToObject(func.Numerical1);
+ _keys.Clear();
+ _keys.AddRange(_data.Keys);
+ int[] _tmp = null;
+ List<int[]> _content = null;
+ for (i = 0; i < _keys.Count; ++i)
+ {
+ _content = new List<int[]>();
+ 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 = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("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");
+ OffLineTimeLackRemendLevelLimit = GetInt("TJGLevelLimit");
+ heroDialogueOffset = GetInputString("NpcHalfLength", 1).Vector3Parse();
+ heroDialogueRotation = GetInputString("NpcHalfLength", 2).Vector3Parse();
+ heroDialogueScale = GetFloat("NpcHalfLength", 3);
+
+ var ancientConfig = Config.Instance.Get<FuncConfigConfig>("ElderBattleTarget");
+ ancientGrandTotalAchievements = new List<int>();
+ ancientGrandTotalAchievements.AddRange(ConfigParse.GetMultipleStr<int>(ancientConfig.Numerical1));
+ ancientContinueKillAchievements = new List<int>();
+ ancientContinueKillAchievements.AddRange(ConfigParse.GetMultipleStr<int>(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<int>(GetIntArray("InGameDownLoad"));
+ inGameDownLoadTaskCheckPoints = new List<int>(GetIntArray("InGameDownLoad", 2));
+ inGameDownLoadHighLevel = GetInt("InGameDownLoad", 3);
+
+ worldBossNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 1));
+ bossHomeNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 2));
+ elderGodNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 3));
+ demonJarNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 4));
+ dogzNoRebornRemindMaps = new List<int>(GetIntArray("NoRebornRemindMap", 5));
+
+ if (ModeDefaultConfig == null)
+ {
+ func = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("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 = Config.Instance.Get<FuncConfigConfig>("PrefightAtkRange");
+ PrefightAtkRange = float.Parse(func.Numerical1);
+ inGameDownLoadHighestLevelPoint = GetInt("DownReward", 2);
+
+ dungeonCanUseMoneyIds = new List<int>(GetIntArray("FBEnterTickeyAuto", 1));
+ dungeonRebornClientTimes = ConfigParse.GetDic<int, int>(GetInputString("DuplicatesRebornTime", 2));
+ dogzBoxLimit = GetInt("DogzBoxLimit");
+
+ fairyGrabBossMapLines = ConfigParse.GetDic<int, int>(GetInputString("MapLine", 2));
+ var grabBossMaps = fairyGrabBossMapLines.Keys.ToList();
+ foreach (var _key in grabBossMaps)
+ {
+ fairyGrabBossMapLines[_key] = fairyGrabBossMapLines[_key] - 1;
+ }
+
+ if (DropItemEffectMapID == null)
+ {
+ DropItemEffectMapID = new Dictionary<int, List<int>>();
+ }
+ DropItemEffectMapID.Clear();
+ func = Config.Instance.Get<FuncConfigConfig>("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<int>());
+ }
+ 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<int>(mapIDs);
+
+ teamWorldCall = GetInputString("TeamWorldCall");
+ teamWorldCallInviteCount = GetInt("TeamWorldCall", 2);
+
+ var ancientKingAwradConfig = Config.Instance.Get<FuncConfigConfig>("ElderBattlefieldTopAward");
+ if (ancientKingAwradConfig != null)
+ {
+ var itemArray = LitJson.JsonMapper.ToObject<int[][]>(ancientKingAwradConfig.Numerical1);
+ for (int k = 0; k < itemArray.Length; k++)
+ {
+ ancientKingAwards.Add(new Item()
+ {
+ id = itemArray[k][0],
+ count = itemArray[k][1],
+ bind = itemArray[k][2] == 1,
+ });
+ }
+ }
+
+ func = Config.Instance.Get<FuncConfigConfig>("QualityEffectConfig");
+ lowQualityCount = int.Parse(func.Numerical1);
+ medQualityCount = int.Parse(func.Numerical2);
+ highQualityCount = int.Parse(func.Numerical3);
+ }
+ 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 string GetOtherJobHeadPortrait(int _job, int _ReincarnationLv)
+ {
+ if (otherjobHeadPortrait.ContainsKey(_job) && otherjobHeadPortrait[_job].ContainsKey(_ReincarnationLv))
+ {
+ return otherjobHeadPortrait[_job][_ReincarnationLv];
+ }
+ else
+ {
+ return string.Empty;
+ }
+ }
+
+ private static int GetInt(string _key, int _index = 1)
+ {
+ var result = 0;
+ int.TryParse(GetInputString(_key, _index), out result);
+ return result;
+ }
+
+ private static float GetFloat(string _key, int _index = 1)
+ {
+ var result = 0f;
+ float.TryParse(GetInputString(_key, _index), out result);
+ return result;
+ }
+
+ private static bool GetBool(string _key, int _index = 1)
+ {
+ var result = false;
+ bool.TryParse(GetInputString(_key, _index), out result);
+ return result;
+ }
+
+ private 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;
+ }
+
+ private 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;
+ }
+
+
+ private 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;
+ }
+
+ private 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;
+ }
+
+ private static List<int> GetTimeArray(string _key, int _index = 1)
+ {
+ var configContent = GetInputString(_key, _index);
+ var stringArray = configContent.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
+ var timeList = new List<int>();
+ 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;
+ }
+
+ private static string GetInputString(string _key, int _index = 1)
+ {
+ var config = Config.Instance.Get<FuncConfigConfig>(_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;
+ }
+
+
+}
--
Gitblit v1.8.0