Core/GameEngine/Model/Config/AppointItemConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: Fish // [ Date ]: Wednesday, May 15, 2019 // [ Date ]: Thursday, June 13, 2019 //-------------------------------------------------------- using System.Collections.Generic; @@ -14,12 +14,8 @@ { public readonly int ID; public readonly int SuiteLv; public readonly int CancelUseLimit; public readonly int[] LegendAttrID; public readonly int[] LegendAttrValue; public readonly int[] OutOfPrintAttr; public readonly int[] OutOfPrintAttrValue; public AppointItemConfig() { @@ -33,36 +29,18 @@ int.TryParse(tables[0],out ID); int.TryParse(tables[1],out SuiteLv); int.TryParse(tables[2],out CancelUseLimit); string[] LegendAttrIDStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); string[] LegendAttrIDStringArray = tables[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); LegendAttrID = new int[LegendAttrIDStringArray.Length]; for (int i=0;i<LegendAttrIDStringArray.Length;i++) { int.TryParse(LegendAttrIDStringArray[i],out LegendAttrID[i]); } string[] LegendAttrValueStringArray = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); string[] LegendAttrValueStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); LegendAttrValue = new int[LegendAttrValueStringArray.Length]; for (int i=0;i<LegendAttrValueStringArray.Length;i++) { int.TryParse(LegendAttrValueStringArray[i],out LegendAttrValue[i]); } string[] OutOfPrintAttrStringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); OutOfPrintAttr = new int[OutOfPrintAttrStringArray.Length]; for (int i=0;i<OutOfPrintAttrStringArray.Length;i++) { int.TryParse(OutOfPrintAttrStringArray[i],out OutOfPrintAttr[i]); } string[] OutOfPrintAttrValueStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); OutOfPrintAttrValue = new int[OutOfPrintAttrValueStringArray.Length]; for (int i=0;i<OutOfPrintAttrValueStringArray.Length;i++) { int.TryParse(OutOfPrintAttrValueStringArray[i],out OutOfPrintAttrValue[i]); } } catch (Exception ex) Core/GameEngine/Model/Config/AppointItemConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 309cbbabde0ad7e478eb2b56fca5fcb9 timeCreated: 1557892703 timeCreated: 1560396144 licenseType: Pro MonoImporter: serializedVersion: 2 Core/GameEngine/Model/Config/ItemConfig.cs
@@ -14,78 +14,78 @@ { public readonly int ID; public readonly int LV; public readonly string ItemName; public readonly int Type; public readonly int EquipPlace; public readonly int CanRepair; public readonly int PackCount; public readonly int UseLV; public readonly int CanSell; public readonly int CanTrade; public readonly int[] JumpComposeCondi; public readonly int CanDrop; public readonly int CanBind; public readonly int CDType; public readonly int CDTime; public readonly int GoldPrice; public readonly int GoldPaperPrice; public readonly int SilverPrice; public readonly int UseTag; public readonly int Effect1; public readonly int EffectValueA1; public readonly int EffectValueB1; public readonly int EffectValueC1; public readonly int Effect2; public readonly int EffectValueA2; public readonly int EffectValueB2; public readonly int EffectValueC2; public readonly int Effect3; public readonly int EffectValueA3; public readonly int EffectValueB3; public readonly int EffectValueC3; public readonly int Effect4; public readonly int EffectValueA4; public readonly int EffectValueB4; public readonly int EffectValueC4; public readonly int Effect5; public readonly int EffectValueA5; public readonly int EffectValueB5; public readonly int EffectValueC5; public readonly int AddSkill1; public readonly int AddSkill2; public readonly int JobLimit; public readonly int RealmLimit; public readonly int ItemColor; public readonly int StarLevel; public readonly int MaxHoleCount; public readonly int CanBreak; public readonly int MaxEndure; public readonly int EndureReduceType; public readonly int BindType; public readonly int MaxSkillCnt; public readonly int ExpireTime; public readonly int MaxFitLV; public readonly int SuiteiD; public readonly string DropinstantEffName; public readonly string IconKey; public readonly int ChangeOrd; public readonly string Description; public readonly string QualityName; public readonly int QualityEchoType; public readonly int LimitSTR; public readonly int LimitPHY; public readonly int LimitPNE; public readonly string Template; public readonly int DropItemPattern; public readonly int SellTip; public readonly int BatchUse; public readonly int Jump; public readonly int[] GetWay; public readonly string ItemTypeName; public readonly int[] UseCondiType; public readonly int LV; public readonly string ItemName; public readonly int Type; public readonly int EquipPlace; public readonly int CanRepair; public readonly int PackCount; public readonly int UseLV; public readonly int CanSell; public readonly int CanTrade; public readonly int[] JumpComposeCondi; public readonly int CanDrop; public readonly int CanBind; public readonly int CDType; public readonly int CDTime; public readonly int GoldPrice; public readonly int GoldPaperPrice; public readonly int SilverPrice; public readonly int UseTag; public readonly int Effect1; public readonly int EffectValueA1; public readonly int EffectValueB1; public readonly int EffectValueC1; public readonly int Effect2; public readonly int EffectValueA2; public readonly int EffectValueB2; public readonly int EffectValueC2; public readonly int Effect3; public readonly int EffectValueA3; public readonly int EffectValueB3; public readonly int EffectValueC3; public readonly int Effect4; public readonly int EffectValueA4; public readonly int EffectValueB4; public readonly int EffectValueC4; public readonly int Effect5; public readonly int EffectValueA5; public readonly int EffectValueB5; public readonly int EffectValueC5; public readonly int AddSkill1; public readonly int AddSkill2; public readonly int JobLimit; public readonly int RealmLimit; public readonly int ItemColor; public readonly int StarLevel; public readonly int MaxHoleCount; public readonly int CanBreak; public readonly int MaxEndure; public readonly int EndureReduceType; public readonly int BindType; public readonly int MaxSkillCnt; public readonly int ExpireTime; public readonly int MaxFitLV; public readonly int SuiteiD; public readonly string DropinstantEffName; public readonly string IconKey; public readonly int ChangeOrd; public readonly string Description; public readonly string QualityName; public readonly int QualityEchoType; public readonly int LimitSTR; public readonly int LimitPHY; public readonly int LimitPNE; public readonly string Template; public readonly int DropItemPattern; public readonly int SellTip; public readonly int BatchUse; public readonly int Jump; public readonly int[] GetWay; public readonly string ItemTypeName; public readonly int[] UseCondiType; public ItemConfig() public ItemConfig() { } @@ -95,162 +95,162 @@ { var tables = input.Split('\t'); int.TryParse(tables[0],out ID); int.TryParse(tables[0], out ID); int.TryParse(tables[1],out LV); int.TryParse(tables[1], out LV); ItemName = tables[2]; ItemName = tables[2]; int.TryParse(tables[3],out Type); int.TryParse(tables[3], out Type); int.TryParse(tables[4],out EquipPlace); int.TryParse(tables[4], out EquipPlace); int.TryParse(tables[5],out CanRepair); int.TryParse(tables[5], out CanRepair); int.TryParse(tables[6],out PackCount); int.TryParse(tables[6], out PackCount); int.TryParse(tables[7],out UseLV); int.TryParse(tables[7], out UseLV); int.TryParse(tables[8],out CanSell); int.TryParse(tables[8], out CanSell); int.TryParse(tables[9],out CanTrade); int.TryParse(tables[9], out CanTrade); string[] JumpComposeCondiStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); JumpComposeCondi = new int[JumpComposeCondiStringArray.Length]; for (int i=0;i<JumpComposeCondiStringArray.Length;i++) { int.TryParse(JumpComposeCondiStringArray[i],out JumpComposeCondi[i]); } string[] JumpComposeCondiStringArray = tables[10].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); JumpComposeCondi = new int[JumpComposeCondiStringArray.Length]; for (int i = 0; i < JumpComposeCondiStringArray.Length; i++) { int.TryParse(JumpComposeCondiStringArray[i], out JumpComposeCondi[i]); } int.TryParse(tables[11],out CanDrop); int.TryParse(tables[11], out CanDrop); int.TryParse(tables[12],out CanBind); int.TryParse(tables[12], out CanBind); int.TryParse(tables[13],out CDType); int.TryParse(tables[13], out CDType); int.TryParse(tables[14],out CDTime); int.TryParse(tables[14], out CDTime); int.TryParse(tables[15],out GoldPrice); int.TryParse(tables[15], out GoldPrice); int.TryParse(tables[16],out GoldPaperPrice); int.TryParse(tables[16], out GoldPaperPrice); int.TryParse(tables[17],out SilverPrice); int.TryParse(tables[17], out SilverPrice); int.TryParse(tables[18],out UseTag); int.TryParse(tables[18], out UseTag); int.TryParse(tables[19],out Effect1); int.TryParse(tables[19], out Effect1); int.TryParse(tables[20],out EffectValueA1); int.TryParse(tables[20], out EffectValueA1); int.TryParse(tables[21],out EffectValueB1); int.TryParse(tables[21], out EffectValueB1); int.TryParse(tables[22],out EffectValueC1); int.TryParse(tables[22], out EffectValueC1); int.TryParse(tables[23],out Effect2); int.TryParse(tables[23], out Effect2); int.TryParse(tables[24],out EffectValueA2); int.TryParse(tables[24], out EffectValueA2); int.TryParse(tables[25],out EffectValueB2); int.TryParse(tables[25], out EffectValueB2); int.TryParse(tables[26],out EffectValueC2); int.TryParse(tables[26], out EffectValueC2); int.TryParse(tables[27],out Effect3); int.TryParse(tables[27], out Effect3); int.TryParse(tables[28],out EffectValueA3); int.TryParse(tables[28], out EffectValueA3); int.TryParse(tables[29],out EffectValueB3); int.TryParse(tables[29], out EffectValueB3); int.TryParse(tables[30],out EffectValueC3); int.TryParse(tables[30], out EffectValueC3); int.TryParse(tables[31],out Effect4); int.TryParse(tables[31], out Effect4); int.TryParse(tables[32],out EffectValueA4); int.TryParse(tables[32], out EffectValueA4); int.TryParse(tables[33],out EffectValueB4); int.TryParse(tables[33], out EffectValueB4); int.TryParse(tables[34],out EffectValueC4); int.TryParse(tables[34], out EffectValueC4); int.TryParse(tables[35],out Effect5); int.TryParse(tables[35], out Effect5); int.TryParse(tables[36],out EffectValueA5); int.TryParse(tables[36], out EffectValueA5); int.TryParse(tables[37],out EffectValueB5); int.TryParse(tables[37], out EffectValueB5); int.TryParse(tables[38],out EffectValueC5); int.TryParse(tables[38], out EffectValueC5); int.TryParse(tables[39],out AddSkill1); int.TryParse(tables[39], out AddSkill1); int.TryParse(tables[40],out AddSkill2); int.TryParse(tables[40], out AddSkill2); int.TryParse(tables[41],out JobLimit); int.TryParse(tables[41], out JobLimit); int.TryParse(tables[42],out RealmLimit); int.TryParse(tables[42], out RealmLimit); int.TryParse(tables[43],out ItemColor); int.TryParse(tables[43], out ItemColor); int.TryParse(tables[44],out StarLevel); int.TryParse(tables[44], out StarLevel); int.TryParse(tables[45],out MaxHoleCount); int.TryParse(tables[45], out MaxHoleCount); int.TryParse(tables[46],out CanBreak); int.TryParse(tables[46], out CanBreak); int.TryParse(tables[47],out MaxEndure); int.TryParse(tables[47], out MaxEndure); int.TryParse(tables[48],out EndureReduceType); int.TryParse(tables[48], out EndureReduceType); int.TryParse(tables[49],out BindType); int.TryParse(tables[49], out BindType); int.TryParse(tables[50],out MaxSkillCnt); int.TryParse(tables[50], out MaxSkillCnt); int.TryParse(tables[51],out ExpireTime); int.TryParse(tables[51], out ExpireTime); int.TryParse(tables[52],out MaxFitLV); int.TryParse(tables[52], out MaxFitLV); int.TryParse(tables[53],out SuiteiD); int.TryParse(tables[53], out SuiteiD); DropinstantEffName = tables[54]; DropinstantEffName = tables[54]; IconKey = tables[55]; IconKey = tables[55]; int.TryParse(tables[56],out ChangeOrd); int.TryParse(tables[56], out ChangeOrd); Description = tables[57]; Description = tables[57]; QualityName = tables[58]; QualityName = tables[58]; int.TryParse(tables[59],out QualityEchoType); int.TryParse(tables[59], out QualityEchoType); int.TryParse(tables[60],out LimitSTR); int.TryParse(tables[60], out LimitSTR); int.TryParse(tables[61],out LimitPHY); int.TryParse(tables[61], out LimitPHY); int.TryParse(tables[62],out LimitPNE); int.TryParse(tables[62], out LimitPNE); Template = tables[63]; Template = tables[63]; int.TryParse(tables[64],out DropItemPattern); int.TryParse(tables[64], out DropItemPattern); int.TryParse(tables[65],out SellTip); int.TryParse(tables[65], out SellTip); int.TryParse(tables[66],out BatchUse); int.TryParse(tables[66], out BatchUse); int.TryParse(tables[67],out Jump); int.TryParse(tables[67], out Jump); string[] GetWayStringArray = tables[68].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); GetWay = new int[GetWayStringArray.Length]; for (int i=0;i<GetWayStringArray.Length;i++) { int.TryParse(GetWayStringArray[i],out GetWay[i]); } string[] GetWayStringArray = tables[68].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); GetWay = new int[GetWayStringArray.Length]; for (int i = 0; i < GetWayStringArray.Length; i++) { int.TryParse(GetWayStringArray[i], out GetWay[i]); } ItemTypeName = tables[69]; ItemTypeName = tables[69]; string[] UseCondiTypeStringArray = tables[70].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); UseCondiType = new int[UseCondiTypeStringArray.Length]; for (int i=0;i<UseCondiTypeStringArray.Length;i++) { int.TryParse(UseCondiTypeStringArray[i],out UseCondiType[i]); } string[] UseCondiTypeStringArray = tables[70].Trim().Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries); UseCondiType = new int[UseCondiTypeStringArray.Length]; for (int i = 0; i < UseCondiTypeStringArray.Length; i++) { int.TryParse(UseCondiTypeStringArray[i], out UseCondiType[i]); } } catch (Exception ex) { @@ -260,13 +260,13 @@ static Dictionary<string, ItemConfig> configs = new Dictionary<string, ItemConfig>(); public static ItemConfig Get(string id) { if (!inited) { if (!inited) { Debug.Log("ItemConfig 还未完成初始化。"); return null; } if (configs.ContainsKey(id)) { return configs[id]; @@ -279,10 +279,15 @@ rawDatas.Remove(id); } if (id != "0" && config == null) { Debug.LogErrorFormat("尝试去获得不存在的物品:id->{0},请联系<color==yellow>贞亮和陈有</color>。", id); } return config; } public static ItemConfig Get(int id) public static ItemConfig Get(int id) { return Get(id.ToString()); } @@ -309,25 +314,25 @@ return values; } public static bool Has(string id) public static bool Has(string id) { return configs.ContainsKey(id) || rawDatas.ContainsKey(id); } public static bool Has(int id) public static bool Has(int id) { return Has(id.ToString()); } public static bool inited { get; private set; } public static bool inited { get; private set; } protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>(); public static void Init(bool sync=false) public static void Init(bool sync = false) { inited = false; var path = string.Empty; inited = false; var path = string.Empty; if (AssetSource.refdataFromEditor) { path = ResourcesPath.CONFIG_FODLER +"/Item.txt"; path = ResourcesPath.CONFIG_FODLER + "/Item.txt"; } else { @@ -335,7 +340,7 @@ } configs.Clear(); var tempConfig = new ItemConfig(); var tempConfig = new ItemConfig(); var preParse = tempConfig is IConfigPostProcess; if (sync) @@ -347,67 +352,67 @@ } for (int i = 3; i < lines.Length; i++) { try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); if (preParse) { var config = new ItemConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) if (preParse) { var config = new ItemConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) { Debug.LogError(ex); } } inited = true; inited = true; } else { ThreadPool.QueueUserWorkItem((object _object) => { var lines = File.ReadAllLines(path); if (!preParse) { rawDatas = new Dictionary<string, string>(lines.Length - 3); } if (!preParse) { rawDatas = new Dictionary<string, string>(lines.Length - 3); } for (int i = 3; i < lines.Length; i++) { try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); if (preParse) { var config = new ItemConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) if (preParse) { var config = new ItemConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) { Debug.LogError(ex); } Core/GameEngine/Model/Config/SpiritWeaponPropertyConfig.cs
New file @@ -0,0 +1,227 @@ //-------------------------------------------------------- // [Author]: Fish // [ Date ]: Thursday, June 13, 2019 //-------------------------------------------------------- using System.Collections.Generic; using System.IO; using System.Threading; using System; using UnityEngine; [XLua.LuaCallCSharp] public partial class SpiritWeaponPropertyConfig { public readonly int ItemID; public readonly int[] AttrIDList; public readonly int[] AttrValueList; public readonly int[] AttrColorList; public readonly int AttrScore; public SpiritWeaponPropertyConfig() { } public SpiritWeaponPropertyConfig(string input) { try { var tables = input.Split('\t'); int.TryParse(tables[0],out ItemID); string[] AttrIDListStringArray = tables[1].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); AttrIDList = new int[AttrIDListStringArray.Length]; for (int i=0;i<AttrIDListStringArray.Length;i++) { int.TryParse(AttrIDListStringArray[i],out AttrIDList[i]); } string[] AttrValueListStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); AttrValueList = new int[AttrValueListStringArray.Length]; for (int i=0;i<AttrValueListStringArray.Length;i++) { int.TryParse(AttrValueListStringArray[i],out AttrValueList[i]); } string[] AttrColorListStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); AttrColorList = new int[AttrColorListStringArray.Length]; for (int i=0;i<AttrColorListStringArray.Length;i++) { int.TryParse(AttrColorListStringArray[i],out AttrColorList[i]); } int.TryParse(tables[4],out AttrScore); } catch (Exception ex) { DebugEx.Log(ex); } } static Dictionary<string, SpiritWeaponPropertyConfig> configs = new Dictionary<string, SpiritWeaponPropertyConfig>(); public static SpiritWeaponPropertyConfig Get(string id) { if (!inited) { Debug.Log("SpiritWeaponPropertyConfig 还未完成初始化。"); return null; } if (configs.ContainsKey(id)) { return configs[id]; } SpiritWeaponPropertyConfig config = null; if (rawDatas.ContainsKey(id)) { config = configs[id] = new SpiritWeaponPropertyConfig(rawDatas[id]); rawDatas.Remove(id); } return config; } public static SpiritWeaponPropertyConfig Get(int id) { return Get(id.ToString()); } public static List<string> GetKeys() { var keys = new List<string>(); keys.AddRange(configs.Keys); keys.AddRange(rawDatas.Keys); return keys; } public static List<SpiritWeaponPropertyConfig> GetValues() { var values = new List<SpiritWeaponPropertyConfig>(); values.AddRange(configs.Values); var keys = new List<string>(rawDatas.Keys); foreach (var key in keys) { values.Add(Get(key)); } return values; } public static bool Has(string id) { return configs.ContainsKey(id) || rawDatas.ContainsKey(id); } public static bool Has(int id) { return Has(id.ToString()); } public static bool inited { get; private set; } protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>(); public static void Init(bool sync=false) { inited = false; var path = string.Empty; if (AssetSource.refdataFromEditor) { path = ResourcesPath.CONFIG_FODLER +"/SpiritWeaponProperty.txt"; } else { path = AssetVersionUtility.GetAssetFilePath("config/SpiritWeaponProperty.txt"); } configs.Clear(); var tempConfig = new SpiritWeaponPropertyConfig(); var preParse = tempConfig is IConfigPostProcess; if (sync) { var lines = File.ReadAllLines(path); if (!preParse) { rawDatas = new Dictionary<string, string>(lines.Length - 3); } for (int i = 3; i < lines.Length; i++) { try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); if (preParse) { var config = new SpiritWeaponPropertyConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) { Debug.LogError(ex); } } inited = true; } else { ThreadPool.QueueUserWorkItem((object _object) => { var lines = File.ReadAllLines(path); if (!preParse) { rawDatas = new Dictionary<string, string>(lines.Length - 3); } for (int i = 3; i < lines.Length; i++) { try { var line = lines[i]; var index = line.IndexOf("\t"); if (index == -1) { continue; } var id = line.Substring(0, index); if (preParse) { var config = new SpiritWeaponPropertyConfig(line); configs[id] = config; (config as IConfigPostProcess).OnConfigParseCompleted(); } else { rawDatas[id] = line; } } catch (System.Exception ex) { Debug.LogError(ex); } } inited = true; }); } } } Core/GameEngine/Model/Config/SpiritWeaponPropertyConfig.cs.metacopy from Lua/Gen/AppointItemConfigWrap.cs.meta copy to Core/GameEngine/Model/Config/SpiritWeaponPropertyConfig.cs.meta
File was copied from Lua/Gen/AppointItemConfigWrap.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 1f054f6c19ed4fc4daa96e584d28eb73 timeCreated: 1557818430 guid: f9b0ccc7d480fff4eafa16d2c5443d60 timeCreated: 1560392719 licenseType: Pro MonoImporter: serializedVersion: 2 Fight/Actor/AI/Process/PN_OpenDialog.cs
@@ -18,6 +18,8 @@ var _model = ModelCenter.Instance.GetModel<GuideDialogueModel>(); _model.dialogID = intParam; _model.onClose = DialogFinish; WindowCenter.Instance.CloseOthers<GuideDialogueWin>(); WindowCenter.Instance.Open<GuideDialogueWin>(); WindowCenter.Instance.Close<MainInterfaceWin>(); Fight/Stage/StageLoad.cs
@@ -109,6 +109,10 @@ if (needLoadResource) { tasks.Enqueue(new StageLoadProcessor.PreProcessTask(command)); if (command.isClientLoadMap) { tasks.Enqueue(new StageLoadProcessor.WaitSecondsTask(command, 0.5f)); } tasks.Enqueue(new StageLoadProcessor.UnLoadAndGCTask(command)); } Lua/Gen/AppointItemConfigWrap.cs
File was deleted Lua/Gen/SnxxzUITreasureSkillModelWrap.cs
@@ -50,7 +50,6 @@ Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectSkill", _g_get_selectSkill); Utils.RegisterFunc(L, Utils.GETTER_IDX, "serverInited", _g_get_serverInited); Utils.RegisterFunc(L, Utils.GETTER_IDX, "skillLevelUpLimitLevel", _g_get_skillLevelUpLimitLevel); Utils.RegisterFunc(L, Utils.GETTER_IDX, "requireRemind", _g_get_requireRemind); Utils.RegisterFunc(L, Utils.GETTER_IDX, "newSatisfyActiveExpertDirty", _g_get_newSatisfyActiveExpertDirty); Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectActivePriority", _g_get_selectActivePriority); @@ -652,20 +651,6 @@ Snxxz.UI.TreasureSkillModel gen_to_be_invoked = (Snxxz.UI.TreasureSkillModel)translator.FastGetCSObj(L, 1); LuaAPI.lua_pushboolean(L, gen_to_be_invoked.serverInited); } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } return 1; } [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _g_get_skillLevelUpLimitLevel(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); Snxxz.UI.TreasureSkillModel gen_to_be_invoked = (Snxxz.UI.TreasureSkillModel)translator.FastGetCSObj(L, 1); LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.skillLevelUpLimitLevel); } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } Lua/Gen/XLuaGenAutoRegister.cs
@@ -73,7 +73,6 @@ translator.DelayWrapLoader(typeof(ApkUpdateUrlConfig), ApkUpdateUrlConfigWrap.__Register); translator.DelayWrapLoader(typeof(AppointItemConfig), AppointItemConfigWrap.__Register); translator.DelayWrapLoader(typeof(AreaCameraConfig), AreaCameraConfigWrap.__Register); System/Alchemy/AlchemyModel.cs
@@ -110,8 +110,9 @@ CheckRedpoint(); } if (m_AlchemyDrugs.Contains(itemId)) if (AttrFruitConfig.Has(itemId)) { CheckRedpoint(); RefreshUseDrugRedpoint(); } } @@ -550,6 +551,7 @@ alchemyDrugUseRefresh(); } CheckRedpoint(); RefreshUseDrugRedpoint(); } @@ -654,6 +656,29 @@ { continue; } var config = AlchemyConfig.Get(id); AlchemyDrugUseLimit drugUseLimit; if (TryGetAlchemyUseLimit(config.AlchemItemID, out drugUseLimit)) { if (drugUseLimit.IsReachLimit()) { continue; } } else { var drugConfig = AttrFruitConfig.Get(config.AlchemItemID); if (drugConfig != null) { if (packModel.GetItemTotalUsedTimes(config.AlchemItemID) >= drugConfig.basicUseLimit) { continue; } } } Item item; if (IsAlchemyEnoughMaterial(id, out item)) { System/Chat/ChatExtentWin.cs
@@ -312,7 +312,7 @@ { foreach (var _equip in equipBodyDict.Values) { if (_equip.equipPlace <= (int)RoleEquipType.Guard) if (_equip.config.EquipPlace <= (int)RoleEquipType.Guard) { m_DisplayItems.Add(_equip); } System/EquipStar/EquipStarModel.cs
@@ -554,11 +554,12 @@ { if (config.CostItemDict.x > 0) { specialMaterial.value = Mathf.RoundToInt(packModel.GetItemCountByID(PackType.Item, config.CostItemDict.x) >= config.CostItemDict.y ? 1f : 0f * 100); var own = packModel.GetItemCountByID(PackType.Item, config.CostItemDict.x); probability = own >= config.CostItemDict.y ? 1f : 0f; } else { specialMaterial.value = 0; probability = 0f; } } else @@ -568,9 +569,9 @@ var itemGuid = GetMaterialLogicStringByIndex(i).value; probability += GetMaterialSuccessRate(equipPosition, itemGuid); } starUpgradeProbability.value = Mathf.RoundToInt(probability * 100); } starUpgradeProbability.value = Mathf.RoundToInt(probability * 100); } else { System/FairyAu/FairyCreateWin.cs
@@ -41,9 +41,8 @@ protected override void OnPreOpen() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFariyInfo; m_CreateRemind1.text = Language.Get("L1132", model.createFairyLv); m_CreateRemind2.text = Language.Get("L1133", model.createFairyCost); model.fairyCreateTimesUpdate += FairyCreateTimesUpdate; DisplayCreateRemind(); creationInput.text = string.Empty; } @@ -54,13 +53,33 @@ protected override void OnPreClose() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFariyInfo; model.fairyCreateTimesUpdate -= FairyCreateTimesUpdate; } protected override void OnAfterClose() { } #endregion private void FairyCreateTimesUpdate() { DisplayCreateRemind(); } void DisplayCreateRemind() { m_CreateRemind1.text = Language.Get("L1132", model.createFairyLv); if (model.fairyCreateTimes < model.createFairyFreeCount) { m_CreateRemind2.text = StringUtility.Contact(Language.Get("L1133", model.createFairyCost), Language.Get("CreateFamilyFreeCount", model.createFairyFreeCount)); } else { m_CreateRemind2.text = Language.Get("L1133", model.createFairyCost); } } private void OnCreatConfirm() { if (PlayerDatas.Instance.baseData.LV < model.createFairyLv) System/FindPrecious/BossHomeVipLackWin.cs
@@ -14,8 +14,13 @@ public class BossHomeVipLackWin : Window { [SerializeField] Text m_Remind; [SerializeField] Text m_VipLevel; [SerializeField] Button m_ViewVip; [SerializeField] Button m_Close; BossHomeModel model { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } } #region Built-in protected override void BindController() @@ -30,6 +35,7 @@ protected override void OnPreOpen() { Display(); } protected override void OnAfterOpen() @@ -45,6 +51,16 @@ } #endregion void Display() { var floor = model.selectedFloor; var vipLevel = model.GetFloorVipRequirement(model.selectedFloor); var requireMoney = vipModel.GetVipPreExp(vipLevel); m_Remind.text = Language.Get("W_BossHomeVip4", requireMoney, vipLevel, Language.Get("Num_CHS_8_" + floor)); m_VipLevel.text = vipLevel.ToString(); } private void ViewVip() { if (VersionConfig.Get().isBanShu) System/FindPrecious/DemonJarBriefInfoBehaviour.cs
@@ -16,6 +16,9 @@ [SerializeField] ItemBehaviour m_ItemBehaviour; [SerializeField] Text m_Participant; [SerializeField] Transform m_Attention; [SerializeField] RectTransform m_ContainerRealmUnlock; [SerializeField] RectTransform m_ContainerLevelUnlock; [SerializeField] Text m_UnlockLevel; DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } } @@ -27,7 +30,7 @@ protected override InteractorableState interactorableState { get { var selected = selectedBossId == bossId; var dieOrLocked = !findPreciousModel.IsBossUnlock(bossId) || !findPreciousModel.IsBossAlive(bossId); var dieOrLocked = !model.IsBossUnlock(bossId) || !findPreciousModel.IsBossAlive(bossId); if (!dieOrLocked) { @@ -45,8 +48,12 @@ protected override bool isRebornRightNow { get { return findPreciousModel.IsBossUnlock(bossId) && base.isRebornRightNow; return model.IsBossUnlock(bossId) && base.isRebornRightNow; } } protected override bool isUnLocked { get { return model.IsBossUnlock(bossId); } } public override void Display(object _data) @@ -119,6 +126,53 @@ m_Participant.text = Language.Get("FindPrecious_8", bossData.participant); } protected override void DrawBossBaseInfo(string icon, string name, int level, int realm) { m_Portrait.SetSprite(icon); m_Portrait.SetNativeSize(); this.m_BossName.text = name; m_BossLevel.text = Language.Get("Z1024", level); m_RealmContainer.gameObject.SetActive(isUnLocked); m_UnLockCondition.gameObject.SetActive(!isUnLocked); if (!isUnLocked) { var realmOk = model.IsPlayerRealmEnough(bossId); m_ContainerRealmUnlock.gameObject.SetActive(!realmOk); m_ContainerLevelUnlock.gameObject.SetActive(realmOk); if (!realmOk) { var unLockRealm = findPreciousModel.GetBossUnLockRealm(bossId); var config = RealmConfig.Get(unLockRealm); m_UnLockRealm.SetSprite(config.Img); } else { m_UnlockLevel.text = Language.Get("DemonJarBossUnlockCondition2", level); } } else { if (m_Realm != null && m_RealmContainer != null) { if (realm > 0 && RealmConfig.Has(realm)) { m_RealmContainer.gameObject.SetActive(true); var realmConfig = RealmConfig.Get(realm); if (realmConfig != null) { m_Realm.SetSprite(realmConfig.Img); } } else { m_RealmContainer.gameObject.SetActive(false); } } } } } } System/FindPrecious/DemonJarModel.cs
@@ -2,12 +2,9 @@ // [Author]: 第二世界 // [ Date ]: Thursday, December 21, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using LitJson; using System; using System.Collections.Generic; namespace Snxxz.UI { @@ -192,6 +189,23 @@ return bosses; } public bool IsBossUnlock(int bossId) { return findPreciousModel.IsBossUnlock(bossId) && IsPlayerLevelEnough(bossId); } public bool IsPlayerLevelEnough(int bossId) { var config = NPCConfig.Get(bossId); return PlayerDatas.Instance.baseData.LV >= config.NPCLV; } public bool IsPlayerRealmEnough(int bossId) { var config = NPCConfig.Get(bossId); return PlayerDatas.Instance.baseData.realmLevel >= config.Realm; } public int GetBossIdByLine(int _line) { if (lineToBoss.ContainsKey(_line)) @@ -212,7 +226,7 @@ for (int i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlock(bossId)) if (IsBossUnlock(bossId)) { if (preferBoss == 0) { @@ -244,7 +258,7 @@ for (int i = sortedBossIds.Count - 1; i >= 0; i--) { var bossId = sortedBossIds[i]; if (findPreciousModel.IsBossUnlock(bossId)) if (IsBossUnlock(bossId)) { return bossId; } @@ -370,6 +384,13 @@ var bossId = GetLastUnlockBoss(); AutoSubscribeLastUnLockBoss(bossId); } break; case PlayerDataType.LV: if (FuncOpen.Instance.IsFuncOpen(76)) { var bossId = GetLastUnlockBoss(); AutoSubscribeLastUnLockBoss(bossId); } if (PlayerDatas.Instance.baseData.LV == GeneralDefine.demonJarRedPoint) { System/FindPrecious/DemonJarWin.cs
@@ -193,13 +193,8 @@ switch (error) { case 1: DemonJarBossData bossData = null; if (model.TryGetBossData(model.selectedBoss, out bossData)) { var config = NPCConfig.Get(model.selectedBoss); var realmConfig = RealmConfig.Get(config.Realm); SysNotifyMgr.Instance.ShowTip("DemonJarLvChallenge", realmConfig.Name); } var npcConfig = NPCConfig.Get(model.selectedBoss); SysNotifyMgr.Instance.ShowTip("BossRealmHint3", npcConfig.NPCLV); break; case 2: dungeonModel.currentDungeon = new Dungeon(DemonJarModel.DATA_MAPID, 0); @@ -221,8 +216,8 @@ { if (_ok) { var config = DemonJarConfig.Get(model.selectedBoss); dungeonModel.SingleChallenge(DemonJarModel.DATA_MAPID, config.LineID); var demonJarConfig = DemonJarConfig.Get(model.selectedBoss); dungeonModel.SingleChallenge(DemonJarModel.DATA_MAPID, demonJarConfig.LineID); } if (_toggle) @@ -287,14 +282,13 @@ { if (!findPreciousModel.IsBossUnlock(model.selectedBoss)) { _error = 6; return false; } if (!model.IsPlayerRealmEnough(model.selectedBoss)) { _error = 6; return false; } DemonJarBossData bossData = null; if (model.TryGetBossData(model.selectedBoss, out bossData)) { if (!findPreciousModel.IsBossUnlock(model.selectedBoss)) if (!model.IsPlayerLevelEnough(model.selectedBoss)) { _error = 1; return false; System/FindPrecious/WorldBossWin.cs
@@ -142,7 +142,7 @@ private bool TestGotoKillBoss(out int _error) { if (findPreciousModel.IsBossUnlock(model.selectedBoss)) if (!findPreciousModel.IsBossUnlock(model.selectedBoss)) { _error = 4; return false; System/ItemTip/ItemTipUtility.cs
@@ -33,6 +33,7 @@ public BaseInfo baseInfo; public BaseProperty baseProperty; public BaseProperty petMountBaseProperty; public SpiritWeaponProperty spiritWeaponProperty; public LegendProperty legendProperty; public SkillInfo skillInfo; public SuitInfo suitInfo; @@ -70,6 +71,11 @@ public List<Int2> baseProperties; public int star; public List<Int2> starProperties; } public struct SpiritWeaponProperty { public List<Int3> properties; } public struct LegendProperty @@ -411,7 +417,8 @@ guid = guid, baseInfo = GetBaseInfo(guid), baseProperty = GetBaseProperty(guid), baseProperty = GetBaseProperty(guid), spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), legendProperty = GetLegendProperty(guid), skillInfo = GetSkillInfo(item.itemId), suitInfo = GetSuitInfo(guid), @@ -432,7 +439,8 @@ baseInfo = GetBaseInfo(itemId), baseProperty = GetBaseProperty(itemId), legendProperty = GetLegendProperty(itemId), legendProperty = GetLegendProperty(itemId), spiritWeaponProperty = GetSpiritWeaponProperty(itemId), skillInfo = GetSkillInfo(itemId), suitInfo = GetSuitInfo(itemId), gemInfo = GetGemInfo(itemId), @@ -624,7 +632,8 @@ goodId = goodId, baseInfo = GetBaseInfo(itemId), baseProperty = GetBaseProperty(itemId), baseProperty = GetBaseProperty(itemId), spiritWeaponProperty = GetSpiritWeaponProperty(itemId), legendProperty = GetLegendProperty(itemId), skillInfo = GetSkillInfo(itemId), suitInfo = GetSuitInfo(itemId), @@ -648,7 +657,8 @@ guid = guid, baseInfo = GetBaseInfo(guid), baseProperty = GetBaseProperty(item.itemId), baseProperty = GetBaseProperty(item.itemId), spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), legendProperty = GetLegendProperty(item.itemId), skillInfo = GetSkillInfo(item.itemId), suitInfo = GetSuitInfo(item.itemId), @@ -671,6 +681,7 @@ baseInfo = GetBaseInfo(guid), baseProperty = GetBaseProperty(item.itemId), spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), legendProperty = GetLegendProperty(guid), petMountBaseProperty = GetPetMountBaseProperty(item.itemId), operates = operatable ? GetOperates(guid) : null, @@ -684,7 +695,8 @@ { itemId = itemId, baseInfo = GetBaseInfo(itemId), baseProperty = GetBaseProperty(itemId), baseProperty = GetBaseProperty(itemId), spiritWeaponProperty = GetSpiritWeaponProperty(itemId), legendProperty = GetLegendProperty(itemId), petMountBaseProperty = GetPetMountBaseProperty(itemId), getWay = GetGetWay(itemId), @@ -1027,21 +1039,6 @@ var config = ItemConfig.Get(itemId); switch (config.Type) { case 113: data.trueCount = LegendPropertyUtility.GetWingPropertyCount(config.LV); var ids = LegendPropertyUtility.GetWingProperties(config.LV); var values = LegendPropertyUtility.GetWingProperties(config.LV); data.properties = new List<Int2>(); if (!ids.IsNullOrEmpty() && !values.IsNullOrEmpty()) { var min = Mathf.Min(ids.Count, values.Count); for (int i = 0; i < min; i++) { data.properties.Add(new Int2(ids[i], values[i])); } } break; case 119: case 120: case 121: @@ -1065,6 +1062,25 @@ return data; } private static SpiritWeaponProperty GetSpiritWeaponProperty(int itemId) { var config = SpiritWeaponPropertyConfig.Get(itemId); if (config == null) { return default(SpiritWeaponProperty); } var properties = new List<Int3>(); for (var i = 0; i < config.AttrIDList.Length; i++) { properties.Add(new Int3(config.AttrIDList[i], config.AttrValueList[i], config.AttrColorList[i])); } var spiritWeaponProperty = new SpiritWeaponProperty(); spiritWeaponProperty.properties = properties; return spiritWeaponProperty; } private static LegendProperty GetLegendProperty(string guid) { var item = packModel.GetItemByGuid(guid); System/ItemTip/SpiritWeaponTipWin.cs
@@ -16,6 +16,7 @@ { [SerializeField] TipItemBaseInfoWidget m_BaseInfoWidget; [SerializeField] TipBasePropertyWidget m_BasePropertyWidget; [SerializeField] TipSpiritWeaponPropertyWidget m_SpiritWeaponPropertyWidget; [SerializeField] TipItemDescriptionWidget m_DescriptionWidget; [SerializeField] TipBuyItemWidget m_BuyItemWidget; [SerializeField] TipGetWayEntranceWidget m_GetWayEntranceWidget; @@ -57,6 +58,7 @@ DisplayBaseInfo(); DisplayBaseProperty(); DisplaySpiritWeaponProperty(); DisplayItemDescription(); DisplayBuyItem(); DisplayJobAndPlace(); @@ -78,6 +80,12 @@ m_BasePropertyWidget.Display(baseProperty); } private void DisplaySpiritWeaponProperty() { var property = ItemTipUtility.mainTipData.spiritWeaponProperty; m_SpiritWeaponPropertyWidget.Display(property); } private void DisplayItemDescription() { var itemId = ItemTipUtility.mainTipData.baseInfo.itemId; System/ItemTip/TipSpiritWeaponPropertyWidget.cs
New file @@ -0,0 +1,31 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class TipSpiritWeaponPropertyWidget : MonoBehaviour { [SerializeField] Text m_PropertyBehaviour; public void Display(ItemTipUtility.SpiritWeaponProperty data) { var count = data.properties.Count; var lines = new string[count]; var lineIndex = 0; foreach (var property in data.properties) { var config = PlayerPropertyConfig.Get(property.x); var name = config.Name; var valueDescription = PlayerPropertyConfig.GetValueDescription(property.x, property.y); lines[lineIndex++] = UIHelper.AppendColor(property.z, string.Format("{0}: {1}", name, valueDescription)); } m_PropertyBehaviour.text = string.Join("\r\n", lines); } } } System/ItemTip/TipSpiritWeaponPropertyWidget.cs.meta
File was renamed from Lua/Gen/AppointItemConfigWrap.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 1f054f6c19ed4fc4daa96e584d28eb73 timeCreated: 1557818430 guid: e8a2a13359501454a909545b991ddcb3 timeCreated: 1560392049 licenseType: Pro MonoImporter: serializedVersion: 2 System/ItemTip/WingTipWin.cs
@@ -14,12 +14,11 @@ public class WingTipWin : Window { [SerializeField] TipItemBaseInfoWidget m_BaseInfoWidget; [SerializeField] ScrollRect m_SrollRect; [SerializeField] TipBasePropertyWidget m_BasePropertyWidget; [SerializeField] TipLegendPropertyWidget m_LegendPropertyWidget; [SerializeField] TipSpiritWeaponPropertyWidget m_SpiritWeaponPropertyWidget; [SerializeField] TipWingRefineMaterialsWidget m_RefineMaterialsWidget; [SerializeField] TipItemDescriptionWidget m_DescriptionWidget; [SerializeField] TipBuyItemWidget m_BuyItemWidget; @@ -63,7 +62,7 @@ m_SrollRect.verticalNormalizedPosition = 1f; DisplayBaseInfo(); DisplayBaseProperty(); DisplayLegendProperty(); DisplaySpiritWeaponProperty(); DisplayRefineMaterials(); DisplayItemDescription(); DisplayBuyItem(); @@ -86,14 +85,10 @@ m_BasePropertyWidget.Display(baseProperty); } private void DisplayLegendProperty() private void DisplaySpiritWeaponProperty() { var legendProperty = ItemTipUtility.mainTipData.legendProperty; m_LegendPropertyWidget.gameObject.SetActive(!legendProperty.properties.IsNullOrEmpty()); if (!legendProperty.properties.IsNullOrEmpty()) { m_LegendPropertyWidget.Display(legendProperty); } var property = ItemTipUtility.mainTipData.spiritWeaponProperty; m_SpiritWeaponPropertyWidget.Display(property); } private void DisplayRefineMaterials() System/KnapSack/Logic/ItemLogicUtility.cs
@@ -194,7 +194,6 @@ var config = AppointItemConfig.Get(itemId); AddRange(config.LegendAttrID, config.LegendAttrValue); AddRange(config.OutOfPrintAttr, config.OutOfPrintAttrValue); } public bool ContainsKey(int id) @@ -240,9 +239,6 @@ case RoleEquipType.Jade: properties.AddRange(GetEquipLegendProperties(itemId)); break; case RoleEquipType.Wing: properties.AddRange(GetWingsLegendProperties(itemId)); break; } return CalculateEquipScore(type, itemId, properties); @@ -273,25 +269,6 @@ foreach (var item in legendProperties) { properties[item.x] = item.y; } } return properties; } private Dictionary<int, int> GetWingsLegendProperties(int itemId) { var config = ItemConfig.Get(itemId); var properties = new Dictionary<int, int>(); var level = config.LV; var count = LegendPropertyUtility.GetWingPropertyCount(level); var ids = LegendPropertyUtility.GetWingProperties(level); if (ids != null) { for (var i = 0; properties.Count < count && i < properties.Count; i++) { var propertyId = ids[i]; properties[propertyId] = LegendPropertyUtility.GetWingPropertyValues(level, propertyId)[0]; } } @@ -384,13 +361,19 @@ skillScore += equipSkillScores[config.AddSkill2]; } var spiritWeaponScore = 0; if (SpiritWeaponPropertyConfig.Has(itemId)) { spiritWeaponScore = SpiritWeaponPropertyConfig.Get(itemId).AttrScore; } switch (type) { case PackType.DogzEquip: case PackType.DogzItem: return Equation.Instance.Eval<int>(dogzGSFormula); default: return skillScore + Equation.Instance.Eval<int>(normalGSFormula); return spiritWeaponScore + skillScore + Equation.Instance.Eval<int>(normalGSFormula); } } @@ -859,21 +842,22 @@ Dictionary<int, ItemModel> pairs = singlePack.GetAllItems(); foreach (var model in pairs.Values) { var equipServerIndex = EquipSet.ClientPlaceToServerPlace(new Int2(model.config.LV, model.config.EquipPlace)); if (model.config.EquipPlace > 0 && model.config.EquipPlace != (int)RoleEquipType.Guard && model.config.RealmLimit <= realmLv && !IsOverdue(model.guid) && IsFightUp(model.itemId, model.score) == 1) { if (!RealmBetterDict.ContainsKey(model.equipPlace)) if (!RealmBetterDict.ContainsKey(equipServerIndex)) { RealmBetterDict.Add(model.equipPlace, model); RealmBetterDict.Add(equipServerIndex, model); } else { if (model.score > RealmBetterDict[model.equipPlace].score) if (model.score > RealmBetterDict[equipServerIndex].score) { RealmBetterDict[model.equipPlace] = model; RealmBetterDict[equipServerIndex] = model; } } } System/KnapSack/Logic/ItemModel.cs
@@ -14,23 +14,6 @@ public int score { get; private set; } public Dictionary<int, List<int>> useDataDict { get; private set; } public int equipPlace { get { if (ItemLogicUtility.Instance.IsRealmEquip(itemId)) { return EquipSet.ClientPlaceToServerPlace(new Int2(config.LV, config.EquipPlace)); } else if (config.Type >= 113 && config.Type <= 117) { return EquipSet.ClientPlaceToServerPlace(new Int2(0, config.EquipPlace)); } else { return 0; } } } public string guid { get { return itemInfo == null ? string.Empty : itemInfo.guid; } } public int itemId { get { return itemInfo == null ? 0 : itemInfo.itemId; } } public int count { get { return itemInfo == null ? 0 : itemInfo.count; } } System/KnapSack/Logic/ItemOperateUtility.cs
@@ -38,19 +38,20 @@ { SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379"); return; } } var equipServerIndex = EquipSet.ClientPlaceToServerPlace(new Int2(item.config.LV, item.config.EquipPlace)); var putOnLimits = item.GetUseData((int)ItemUseDataKey.cancelUseLimit); if (putOnLimits != null && putOnLimits[0] == 1) { PutOnEquip(item.equipPlace, item.guid); PutOnEquip(equipServerIndex, item.guid); return; } var wearable = IsWearable(itemId); if (wearable) { PutOnEquip(item.equipPlace, item.guid); PutOnEquip(equipServerIndex, item.guid); } } @@ -420,7 +421,8 @@ if (ItemLogicUtility.Instance.IsSpiritWeapon(useItemModel.itemId)) { PutOnEquip(useItemModel.equipPlace, guid); var serverIndex = EquipSet.ClientPlaceToServerPlace(new Int2(useItemModel.config.LV, useItemModel.config.EquipPlace)); PutOnEquip(serverIndex, guid); return; } @@ -1009,7 +1011,7 @@ { var isOverdue = ItemLogicUtility.Instance.IsOverdue(guid); var isLimit = ItemLogicUtility.Instance.IsJobCompatibleItem(item.itemId) ? true : false; var equipedItem = packModel.GetItemByIndex(PackType.Equip, item.equipPlace); var equipedItem = packModel.GetItemByIndex(PackType.Equip, item.gridIndex); if (!isLimit || isOverdue || (equipedItem != null && item.score < equipedItem.score)) { System/KnapSack/Logic/LegendPropertyUtility.cs
@@ -9,8 +9,6 @@ static PropertyMap dogzPropertyMap; static PropertyCount dogzPropertyCount; static QualityPropertyValue dogzQualityPropertyValue; static WingPropertyCount wingPropertyCount; static WingPropertyValue wingPropertyValue; public static void Init() { @@ -19,9 +17,6 @@ FuncConfigConfig.Get("DogzLegendAttrRulePreview").Numerical1); dogzPropertyCount = new PropertyCount(FuncConfigConfig.Get("DogzLegendAttrCountPreview").Numerical1); dogzQualityPropertyValue = new QualityPropertyValue(FuncConfigConfig.Get("DogzLegendAttrValueByColorPreview").Numerical1); wingPropertyCount = new WingPropertyCount(); wingPropertyValue = new WingPropertyValue(); } public static List<Int2> GetEquipProperties(int itemId) @@ -58,11 +53,6 @@ return legendPropertyConfig.propertyCount; } public static string GetWingPropertyColor(int propertyId, int value) { return propertyColor.GetWingPropertyColor(propertyId, value); } public static LegendAttrType GetDogzPropertyType(int propertyId) { return dogzPropertyMap.GetPropertyType(propertyId); @@ -86,36 +76,6 @@ public static int GetDogzQualityPropertyValue(int property, int quality) { return dogzQualityPropertyValue.GetValue(property, quality); } public static int GetWingPropertyCount(int level) { return wingPropertyCount.GetValue(level); } public static int GetWingPropertyMinValue(int level, int property) { return wingPropertyValue.GetMin(level, property); } public static int GetWingPropertyMaxValue(int level, int property) { return wingPropertyValue.GetMax(level, property); } public static bool HasWingProperties(int level) { return wingPropertyValue.Has(level); } public static List<int> GetWingProperties(int level) { return wingPropertyValue.GetProperties(level); } public static List<int> GetWingPropertyValues(int level, int property) { return wingPropertyValue.GetValues(level, property); } public class PropertyColor @@ -408,134 +368,6 @@ } } public class WingPropertyCount { Dictionary<int, int> counts = new Dictionary<int, int>(); public WingPropertyCount() { var json = JsonMapper.ToObject(FuncConfigConfig.Get("WingLegendAttrCountPreview").Numerical1); for (int i = 0; i < json.Count; i++) { counts[(int)json[i][0]] = (int)json[i][1]; } } public bool Has(int level) { return counts.ContainsKey(level); } public int GetValue(int level) { if (Has(level)) { return counts[level]; } else { return 0; } } } public class WingPropertyValue { Dictionary<int, Dictionary<int, List<int>>> levelPropertyValues = new Dictionary<int, Dictionary<int, List<int>>>(); public WingPropertyValue() { var json = JsonMapper.ToObject(FuncConfigConfig.Get("WingLegendAttrValuePreview").Numerical1); foreach (var key in json.Keys) { var levelValues = new Dictionary<int, List<int>>(); levelPropertyValues.Add(int.Parse(key), levelValues); var subJson = json[key]; foreach (var propertyId in subJson.Keys) { var count = subJson[propertyId].Count; var values = new List<int>(); levelValues[int.Parse(propertyId)] = values; if (subJson[propertyId].IsArray) { for (var i = 0; i < subJson[propertyId].Count; i++) { values.Add((int)subJson[propertyId][i]); } } } } } public bool Has(int level) { return levelPropertyValues.ContainsKey(level); } public bool Has(int level, int propertyId) { if (!levelPropertyValues.ContainsKey(level)) { return false; } return levelPropertyValues[level].ContainsKey(propertyId); } public int GetMin(int level, int propertyId) { if (Has(level, propertyId)) { return levelPropertyValues[level][propertyId][0]; } else { return 0; } } public int GetMax(int level, int propertyId) { if (Has(level, propertyId)) { var count = levelPropertyValues[level][propertyId].Count; return levelPropertyValues[level][propertyId][count - 1]; } else { return 0; } } public List<int> GetProperties(int level) { if (Has(level)) { return new List<int>(levelPropertyValues[level].Keys); } else { return null; } } public List<int> GetValues(int level, int propertyId) { if (Has(level, propertyId)) { return levelPropertyValues[level][propertyId]; } else { return null; } } } } System/MainInterfacePanel/LowSettingTip.cs
@@ -98,7 +98,16 @@ } else { WindowCenter.Instance.Open<SkillWin>(); var funcInfos = WindowConfig.GetWindowFunctionInfos("SkillWin"); for (int i = 0; i < funcInfos.Count; i++) { if (funcInfos[i].functionId == 0 || FuncOpen.Instance.IsFuncOpen(funcInfos[i].functionId)) { WindowCenter.Instance.Open<SkillWin>(false, funcInfos[i].order); return; } } } } System/MainInterfacePanel/MainInterfaceWin.cs
@@ -437,10 +437,12 @@ } else { if (_unflod) m_MainPositionTween.SwitchFunctions(new MainPositionTween.SwitchParam() { m_MainPositionTween.SwitchFunctions(new MainPositionTween.SwitchParam() { showDefault = true, immediately = false }); } bottomState = _unflod ? MainPositionTween.RightBottomState.Function : MainPositionTween.RightBottomState.Skill, showDefault = true, immediately = false }); } } System/MainInterfacePanel/MainPositionTween.cs
@@ -135,7 +135,7 @@ static float resetToDefaultTimer = 0; public static void SetRecoverToSkillTimer() { resetToDefaultTimer = 20f; resetToDefaultTimer = 5f; } public void SwitchFunctions(SwitchParam switchParams) @@ -151,14 +151,9 @@ { var mapId = PlayerDatas.Instance.baseData.MapID; var isDungeon = MapUtility.IsDungeon(mapId); var isNeutralMap = false; var isNeutralMap = GeneralDefine.neutralBossMaps.Contains(mapId); var isBossArea = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss); var isGuiding = NewBieCenter.Instance.inGuiding; if (GeneralDefine.neutralBossMaps.Contains(mapId)) { isNeutralMap = true; } m_ContainerBossList.gameObject.SetActive(isNeutralMap); @@ -201,10 +196,19 @@ break; } var rightBottomState = resetToDefaultTimer <= 0f && switchParams.showDefault && !isGuiding && !treasureModel.newGotShowing ? RightBottomState.Skill : RightBottomState.Function; var rightBottomState = RightBottomState.Skill; switch (switchParams.bottomState) { case RightBottomState.None: rightBottomState = resetToDefaultTimer <= 0f && switchParams.showDefault && !isGuiding && !treasureModel.newGotShowing ? RightBottomState.Skill : RightBottomState.Function; break; default: rightBottomState = switchParams.bottomState; break; } switch (rightBottomState) { @@ -235,7 +239,7 @@ } isDefaultState = rightBottomState == RightBottomState.Skill; resetToDefaultTimer = !isDefaultState ? 20f : 0f; resetToDefaultTimer = !isDefaultState ? 5f : 0f; m_RayMask.gameObject.SetActive(!isDefaultState); if (switchParams.immediately) @@ -281,6 +285,7 @@ public enum RightBottomState { None, Function, Skill, } @@ -297,6 +302,7 @@ public bool showDefault; public bool immediately; public bool manual; public RightBottomState bottomState; } } System/MainInterfacePanel/TaskFeedbackModel.cs
@@ -252,6 +252,31 @@ } } break; case TaskFeedbackType.OnekeyHangUp: { if (PlayerDatas.Instance.extersion.bossState == 1) { SysNotifyMgr.Instance.ShowTip("Task_Transfer1"); return; } var mapModel = ModelCenter.Instance.GetModel<MapModel>(); var point = mapModel.GetRecommendHangPoint(); var mapEventConfig = MapEventPointConfig.Get(point); var flyBootOwn = ModelCenter.Instance.GetModel<PackModel>().GetItemCountByID(PackType.Item, GeneralDefine.flyBootItemId); var isVipFreeTransfer = ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0; if (isVipFreeTransfer || flyBootOwn > 0) { var mapId = MapUtility.GetMapId(mapEventConfig.DataMapID, mapEventConfig.LineId); MapTransferUtility.Instance.MissionFlyTo(mapId, mapEventConfig.NPCID); } else { MapTransferUtility.Instance.MoveToNPC(mapEventConfig.NPCID); } } break; } } } @@ -559,6 +584,7 @@ DemonTreasure = 10, AlchemyItem = 11, HasFairy = 12, OnekeyHangUp = 13, } } System/MainWin/HighSettingFadeInFadeOut.cs
@@ -38,7 +38,7 @@ public static void SetAutoCloseTimer() { closeTimer = 20f; closeTimer = 5f; } void Start() System/Skill/TreasureSkillModel.cs
@@ -34,8 +34,6 @@ public bool serverInited { get; private set; } public int skillLevelUpLimitLevel { get; private set; } public bool requireRemind { get; private set; } public bool newSatisfyActiveExpertDirty { get; set; } @@ -154,7 +152,7 @@ private void OnFuncStateChangeEvent(int id) { if (id == 82) if (id == 82 || id == 177) { UpdateRedpoint(); } @@ -221,9 +219,6 @@ } } } var funcConfig = FuncConfigConfig.Get("TreasureSkillLevelUp"); skillLevelUpLimitLevel = int.Parse(funcConfig.Numerical1); } public bool TryGetSkills(out List<int> skills) @@ -532,7 +527,7 @@ foreach (var skill in treasureSkills.Values) { var error = 0; if (requireRemind && funcOpen && PlayerDatas.Instance.baseData.LV >= skillLevelUpLimitLevel if (requireRemind && funcOpen && FuncOpen.Instance.IsFuncOpen(177) && TryLevelUpTreasureSkill(skill.skillId, out error) && skill.level > 0) { System/Skill/TreasureSkillWin.cs
@@ -78,8 +78,8 @@ model.skillLevelUpRefresh += SkillLevelUpRefresh; packModel.refreshItemCountEvent += RefreshItemCountEvent; model.expertSkillRefresh += ExpertSkillRefresh; PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent; WindowCenter.Instance.windowAfterCloseEvent += WindowAfterCloseEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; } protected override void OnAfterOpen() @@ -93,8 +93,8 @@ model.skillLevelUpRefresh -= SkillLevelUpRefresh; packModel.refreshItemCountEvent -= RefreshItemCountEvent; model.expertSkillRefresh -= ExpertSkillRefresh; PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent; WindowCenter.Instance.windowAfterCloseEvent -= WindowAfterCloseEvent; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; model.SetAlreadyRemind(); } @@ -163,7 +163,7 @@ void DisplayButtonState() { m_LevelUp.SetColorful(m_LevelUpLabel, PlayerDatas.Instance.baseData.LV >= model.skillLevelUpLimitLevel); m_LevelUp.SetColorful(m_LevelUpLabel, FuncOpen.Instance.IsFuncOpen(177)); } void DisplaySkillDetial() @@ -227,9 +227,9 @@ private void LevelUp() { if (PlayerDatas.Instance.baseData.LV < model.skillLevelUpLimitLevel) if (!FuncOpen.Instance.IsFuncOpen(177)) { SysNotifyMgr.Instance.ShowTip("FuncLimit_JNSJ", model.skillLevelUpLimitLevel); FuncOpen.Instance.ProcessorFuncErrorTip(177); return; } TreasureSkillLevelUpWin.skillId = model.selectSkill; @@ -293,9 +293,9 @@ } } private void PlayerDataRefreshEvent(PlayerDataType dataType) private void OnFuncStateChangeEvent(int id) { if (dataType == PlayerDataType.LV) if (id == 177) { DisplayButtonState(); } System/Tip/ExperienceFloat.cs
@@ -51,6 +51,9 @@ case 4: m_ExperienceRate.text = StringUtility.Contact("(", experienceRateBuf / 100 + 100, "%)?"); break; case 6: m_ExperienceRate.text = "!"; break; default: m_ExperienceRate.text = ""; break; @@ -108,7 +111,7 @@ var instance = pool.Request(); var experienceFloat = instance.GetComponent<ExperienceFloat>(); experienceFloat.SetEnable(true); experienceFloat.pattern= _pattern; experienceFloat.pattern = _pattern; return experienceFloat; } else System/Vip/RechargeBehaviour.cs
@@ -45,12 +45,16 @@ } chargeId = _id; m_ChargeIcon.SetSprite(config.Icon); m_PriceValue.text = StringUtility.Contact("¥", model.GetPayRmb(config.RecordID)); m_GetGoldValue.gameObject.SetActive(config.GainGold > 0); if(config.GainGold > 0) m_PriceValue.text = StringUtility.Contact(model.GetPayRmb(config.RecordID), "x"); if (m_GetGoldValue != null) { m_GetGoldValue.text = config.GainGold.ToString(); m_GetGoldValue.gameObject.SetActive(config.GainGold > 0); if (config.GainGold > 0) { m_GetGoldValue.text = "x" + config.GainGold; } } VipModel.RechargeCount _rechargeCount; bool _firstRecharge = true; if (model.TryGetRechargeCount(_id, out _rechargeCount)) System/Vip/VipRechargeWin.cs
@@ -14,8 +14,6 @@ public class VipRechargeWin : Window { [SerializeField] Button leftBtn; [SerializeField] Button rightBtn; [SerializeField] Button closeBtn; [SerializeField] FunctionButton vipPayTitleBtn; [SerializeField] FunctionButton vipTitleBtn; @@ -43,8 +41,6 @@ protected override void AddListeners() { leftBtn.onClick.AddListener(buttonGroup.TriggerLast); rightBtn.onClick.AddListener(buttonGroup.TriggerNext); closeBtn.onClick.AddListener(OnClose); vipPayTitleBtn.onClick.AddListener(OnVipPay); vipTitleBtn.onClick.AddListener(OnVip); System/WindowJump/WindowJumpMgr.cs
@@ -596,6 +596,11 @@ ModelCenter.Instance.GetModel<OSRedEnvelopeModel>().JumpType = int.Parse(_tagWinSearchModel.SelectActive) + 1; SetJumpLogic<OpenServerActivityWin>(_tagWinSearchModel.TABID); break; case JumpUIType.MonthInvest: case JumpUIType.WeekInvest: ModelCenter.Instance.GetModel<MonthWeekInvestModel>().jumpType = int.Parse(_tagWinSearchModel.SelectActive); SetJumpLogic<OpenServerActivityWin>(_tagWinSearchModel.TABID); break; case JumpUIType.BestXB: case JumpUIType.RuneXB: case JumpUIType.XBStore: @@ -1691,6 +1696,8 @@ AlchemyFairy = 321, RolePromote = 322, UseFairyDrug = 323, MonthInvest = 324, WeekInvest = 325, DhszTs = 1001,//定海神针功法提升界面 HyqTs = 1002,//皓月枪功法提升界面 System/WorldMap/WorldMapWin.cs
@@ -215,10 +215,14 @@ { var unLockEffectId = config.Effect[0]; var effect = EffectMgr.Instance.PlayUIEffect(unLockEffectId, 3500, this.transform, false); while (effect.IsPlaying) var timer = 0f; while (timer < 5f) { timer += Time.deltaTime; yield return null; } EffectMgr.Instance.RecyleUIEffect(unLockEffectId, effect.gameObject); } EffectMgr.Instance.PlayUIEffect(3053, 3500, areaBehaviour.transform, false); Utility/ConfigInitiator.cs
@@ -20,10 +20,8 @@ HelpInfoConfig.Init(true); } public static bool IsLoginConfigInited { get { public static bool IsLoginConfigInited { get { return IconConfig.inited && LoginSeverListConfig.inited && LanguageConfig.inited @@ -33,17 +31,16 @@ } } public static bool IsCreateRoleConfigInited { get { public static bool IsCreateRoleConfigInited { get { return ItemConfig.inited && DirtyWordConfig.inited && CreateRoleConfig.inited && JobSetupConfig.inited && ModelResConfig.inited && GodWeaponConfig.inited && GodWeaponEffectConfig.inited; && GodWeaponEffectConfig.inited && EquipControlConfig.inited; } } @@ -88,14 +85,15 @@ priorTasks.Add(new ConfigInitTask("AudioConfig", () => { AudioConfig.Init(); }, () => { return AudioConfig.inited; })); priorTasks.Add(new ConfigInitTask("ItemConfig", () => { ItemConfig.Init(); }, () => { return ItemConfig.inited; })); priorTasks.Add(new ConfigInitTask("DirtyWordConfig", () => { DirtyWordConfig.Init(); }, () => { return DirtyWordConfig.inited; })); priorTasks.Add(new ConfigInitTask("CreateRoleConfig", () => { CreateRoleConfig.Init(); }, () => { return CreateRoleConfig.inited; })); priorTasks.Add(new ConfigInitTask("CreateRoleConfig", () => { CreateRoleConfig.Init(); }, () => { return CreateRoleConfig.inited; })); priorTasks.Add(new ConfigInitTask("EquipControlConfig", () => { EquipControlConfig.Init(); }, () => { return EquipControlConfig.inited; })); priorTasks.Add(new ConfigInitTask("JobSetupConfig", () => { JobSetupConfig.Init(); }, () => { return JobSetupConfig.inited; })); priorTasks.Add(new ConfigInitTask("ModelResConfig", () => { ModelResConfig.Init(); }, () => { return ModelResConfig.inited; })); priorTasks.Add(new ConfigInitTask("GodWeaponConfig", () => { GodWeaponConfig.Init(); }, () => { return GodWeaponConfig.inited; })); priorTasks.Add(new ConfigInitTask("GodWeaponEffectConfig", () => { GodWeaponEffectConfig.Init(); }, () => { return GodWeaponEffectConfig.inited; })); priorTasks.Add(new ConfigInitTask("TASKINFOConfig", () => { TASKINFOConfig.Init(); }, () => { return TASKINFOConfig.inited; })); priorTasks.Add(new ConfigInitTask("mapnpcConfig", () => { mapnpcConfig.Init(); }, () => { return mapnpcConfig.inited; })); priorTasks.Add(new ConfigInitTask("SkillConfig", () => { SkillConfig.Init(); }, () => { return SkillConfig.inited; })); priorTasks.Add(new ConfigInitTask("SkillConfig", () => { SkillConfig.Init(); }, () => { return SkillConfig.inited; })); } private static void NormalTasks() @@ -277,7 +275,6 @@ normalTasks.Add(new ConfigInitTask("AuctionItemConfig", () => { AuctionItemConfig.Init(); }, () => { return AuctionItemConfig.inited; })); normalTasks.Add(new ConfigInitTask("AuctionIndexConfig", () => { AuctionIndexConfig.Init(); }, () => { return AuctionIndexConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipPlaceMapConfig", () => { EquipPlaceMapConfig.Init(); }, () => { return EquipPlaceMapConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipControlConfig", () => { EquipControlConfig.Init(); }, () => { return EquipControlConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipSuitConfig", () => { EquipSuitConfig.Init(); }, () => { return EquipSuitConfig.inited; })); normalTasks.Add(new ConfigInitTask("EquipStarConfig", () => { EquipStarConfig.Init(); }, () => { return EquipStarConfig.inited; })); normalTasks.Add(new ConfigInitTask("WashLevelMaxConfig", () => { WashLevelMaxConfig.Init(); }, () => { return WashLevelMaxConfig.inited; })); @@ -294,7 +291,8 @@ normalTasks.Add(new ConfigInitTask("TreasureChapterConfig", () => { TreasureChapterConfig.Init(); }, () => { return TreasureChapterConfig.inited; })); normalTasks.Add(new ConfigInitTask("TaskFeedbackConfig", () => { TaskFeedbackConfig.Init(); }, () => { return TaskFeedbackConfig.inited; })); normalTasks.Add(new ConfigInitTask("TaskFeedbackFuncConfig", () => { TaskFeedbackFuncConfig.Init(); }, () => { return TaskFeedbackFuncConfig.inited; })); normalTasks.Add(new ConfigInitTask("VipPrivilegeInfoConfig", () => { VipPrivilegeInfoConfig.Init(); }, () => { return VipPrivilegeInfoConfig.inited; })); normalTasks.Add(new ConfigInitTask("VipPrivilegeInfoConfig", () => { VipPrivilegeInfoConfig.Init(); }, () => { return VipPrivilegeInfoConfig.inited; })); normalTasks.Add(new ConfigInitTask("SpiritWeaponPropertyConfig", () => { SpiritWeaponPropertyConfig.Init(); }, () => { return SpiritWeaponPropertyConfig.inited; })); } static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>();