Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2 文件已重命名
20个文件已修改
4 文件已复制
12个文件已添加
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: Fish |
| | | // [ Date ]: Thursday, March 14, 2019 |
| | | //-------------------------------------------------------- |
| | | |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Threading; |
| | | using System; |
| | | using UnityEngine; |
| | | |
| | | [XLua.LuaCallCSharp] |
| | | public partial class LegendPropertyConfig |
| | | { |
| | | |
| | | public readonly int id; |
| | | public readonly int quality; |
| | | |
| | | public LegendPropertyConfig() |
| | | { |
| | | } |
| | | |
| | | public LegendPropertyConfig(string input) |
| | | { |
| | | try |
| | | { |
| | | var tables = input.Split('\t'); |
| | | |
| | | int.TryParse(tables[0],out id); |
| | | |
| | | int.TryParse(tables[1],out quality); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | DebugEx.Log(ex); |
| | | } |
| | | } |
| | | |
| | | static Dictionary<string, LegendPropertyConfig> configs = new Dictionary<string, LegendPropertyConfig>(); |
| | | public static LegendPropertyConfig Get(string id) |
| | | { |
| | | if (!inited) |
| | | { |
| | | Debug.Log("LegendPropertyConfig 还未完成初始化。"); |
| | | return null; |
| | | } |
| | | |
| | | if (configs.ContainsKey(id)) |
| | | { |
| | | return configs[id]; |
| | | } |
| | | |
| | | LegendPropertyConfig config = null; |
| | | if (rawDatas.ContainsKey(id)) |
| | | { |
| | | config = configs[id] = new LegendPropertyConfig(rawDatas[id]); |
| | | rawDatas.Remove(id); |
| | | } |
| | | |
| | | return config; |
| | | } |
| | | |
| | | public static LegendPropertyConfig 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<LegendPropertyConfig> GetValues() |
| | | { |
| | | var values = new List<LegendPropertyConfig>(); |
| | | 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 +"/LegendProperty.txt"; |
| | | } |
| | | else |
| | | { |
| | | path = AssetVersionUtility.GetAssetFilePath("config/LegendProperty.txt"); |
| | | } |
| | | |
| | | var tempConfig = new LegendPropertyConfig(); |
| | | 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 LegendPropertyConfig(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 LegendPropertyConfig(line); |
| | | configs[id] = config; |
| | | (config as IConfigPostProcess).OnConfigParseCompleted(); |
| | | } |
| | | else |
| | | { |
| | | rawDatas[id] = line; |
| | | } |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | Debug.LogError(ex); |
| | | } |
| | | } |
| | | |
| | | inited = true; |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
copy from System/ItemTip/ItemTipUtility.cs.meta
copy to Core/GameEngine/Model/Config/LegendPropertyConfig.cs.meta
| File was copied from System/ItemTip/ItemTipUtility.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1e29f156c73e78044934e85f0d55156d |
| | | timeCreated: 1552377672 |
| | | guid: 9cbabe11900eafe4699824def6a3ac6e |
| | | timeCreated: 1552536986 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: Fish |
| | | // [ Date ]: Thursday, March 14, 2019 |
| | | //-------------------------------------------------------- |
| | | |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Threading; |
| | | using System; |
| | | using UnityEngine; |
| | | |
| | | [XLua.LuaCallCSharp] |
| | | public partial class LegendPropertyValueConfig |
| | | { |
| | | |
| | | public readonly int id; |
| | | public readonly int ItemType; |
| | | public readonly int ItemClassLV; |
| | | public readonly int ItemColor; |
| | | public readonly int IsSuit; |
| | | public readonly Int2[] previewValue; |
| | | public readonly int propertyCount; |
| | | |
| | | public LegendPropertyValueConfig() |
| | | { |
| | | } |
| | | |
| | | public LegendPropertyValueConfig(string input) |
| | | { |
| | | try |
| | | { |
| | | var tables = input.Split('\t'); |
| | | |
| | | int.TryParse(tables[0],out id); |
| | | |
| | | int.TryParse(tables[1],out ItemType); |
| | | |
| | | int.TryParse(tables[2],out ItemClassLV); |
| | | |
| | | int.TryParse(tables[3],out ItemColor); |
| | | |
| | | int.TryParse(tables[4],out IsSuit); |
| | | |
| | | string[] previewValueStringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); |
| | | previewValue = new Int2[previewValueStringArray.Length]; |
| | | for (int i=0;i<previewValueStringArray.Length;i++) |
| | | { |
| | | Int2.TryParse(previewValueStringArray[i],out previewValue[i]); |
| | | } |
| | | |
| | | int.TryParse(tables[6],out propertyCount); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | DebugEx.Log(ex); |
| | | } |
| | | } |
| | | |
| | | static Dictionary<string, LegendPropertyValueConfig> configs = new Dictionary<string, LegendPropertyValueConfig>(); |
| | | public static LegendPropertyValueConfig Get(string id) |
| | | { |
| | | if (!inited) |
| | | { |
| | | Debug.Log("LegendPropertyValueConfig 还未完成初始化。"); |
| | | return null; |
| | | } |
| | | |
| | | if (configs.ContainsKey(id)) |
| | | { |
| | | return configs[id]; |
| | | } |
| | | |
| | | LegendPropertyValueConfig config = null; |
| | | if (rawDatas.ContainsKey(id)) |
| | | { |
| | | config = configs[id] = new LegendPropertyValueConfig(rawDatas[id]); |
| | | rawDatas.Remove(id); |
| | | } |
| | | |
| | | return config; |
| | | } |
| | | |
| | | public static LegendPropertyValueConfig 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<LegendPropertyValueConfig> GetValues() |
| | | { |
| | | var values = new List<LegendPropertyValueConfig>(); |
| | | 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 +"/LegendPropertyValue.txt"; |
| | | } |
| | | else |
| | | { |
| | | path = AssetVersionUtility.GetAssetFilePath("config/LegendPropertyValue.txt"); |
| | | } |
| | | |
| | | var tempConfig = new LegendPropertyValueConfig(); |
| | | 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 LegendPropertyValueConfig(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 LegendPropertyValueConfig(line); |
| | | configs[id] = config; |
| | | (config as IConfigPostProcess).OnConfigParseCompleted(); |
| | | } |
| | | else |
| | | { |
| | | rawDatas[id] = line; |
| | | } |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | Debug.LogError(ex); |
| | | } |
| | | } |
| | | |
| | | inited = true; |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
copy from System/ItemTip/ItemTipUtility.cs.meta
copy to Core/GameEngine/Model/Config/LegendPropertyValueConfig.cs.meta
| File was copied from System/ItemTip/ItemTipUtility.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1e29f156c73e78044934e85f0d55156d |
| | | timeCreated: 1552377672 |
| | | guid: 9b41155b3cd3cfe45aae5364966bac57 |
| | | timeCreated: 1552536728 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | |
| | | public partial class LegendPropertyValueConfig : IConfigPostProcess |
| | | { |
| | | |
| | | static Dictionary<int, LegendPropertyValueConfig> previewConfigs = new Dictionary<int, LegendPropertyValueConfig>(); |
| | | |
| | | public void OnConfigParseCompleted() |
| | | { |
| | | var key = ItemType * 1000000 + ItemClassLV * 10000 + ItemColor * 100 + IsSuit; |
| | | previewConfigs[key] = this; |
| | | } |
| | | |
| | | public static LegendPropertyValueConfig Get(int itemType, int level, int quality, bool suit) |
| | | { |
| | | var key = itemType * 1000000 + level * 10000 + quality * 100 + (suit ? 1 : 0); |
| | | return previewConfigs.ContainsKey(key) ? previewConfigs[key] : null; |
| | | } |
| | | |
| | | } |
copy from System/ItemTip/ItemTipUtility.cs.meta
copy to Core/GameEngine/Model/TelPartialConfig/PartialLegendPropertyValueConfig.cs.meta
| File was copied from System/ItemTip/ItemTipUtility.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1e29f156c73e78044934e85f0d55156d |
| | | timeCreated: 1552377672 |
| | | guid: 2b69fff22e7d168449e4323f9388a42c |
| | | timeCreated: 1552533259 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | |
|
| | | public partial class ItemPlusConfig : IConfigPostProcess
|
| | | {
|
| | | private static Dictionary<string, ItemPlusConfig> ItemPlus = new Dictionary<string, ItemPlusConfig>();
|
| | | private static Dictionary<int, ItemPlusConfig> ItemPlus = new Dictionary<int, ItemPlusConfig>();
|
| | | public void OnConfigParseCompleted()
|
| | | {
|
| | | ItemPlus.Add(StringUtility.Contact(type, level).ToString(), this);
|
| | | var key = type * 100 + level;
|
| | | ItemPlus[key] = this;
|
| | | }
|
| | |
|
| | | public static ItemPlusConfig GetTypeAndLevel(int type, int level)
|
| | | {
|
| | | var key = type * 100 + level;
|
| | | ItemPlusConfig itemPlus = null;
|
| | | ItemPlus.TryGetValue(StringUtility.Contact(type, level).ToString(), out itemPlus);
|
| | | ItemPlus.TryGetValue(key, out itemPlus);
|
| | | return itemPlus;
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | public partial class ItemPlusMaxConfig : IConfigPostProcess
|
| | | {
|
| | | private static Dictionary<string, ItemPlusMaxConfig> t_ItemPM = new Dictionary<string, ItemPlusMaxConfig>();
|
| | | private static Dictionary<int, ItemPlusMaxConfig> t_ItemPM = new Dictionary<int, ItemPlusMaxConfig>();
|
| | |
|
| | | private static Dictionary<int, int> m_ItemPlusMaxLvDict = new Dictionary<int, int>();
|
| | |
|
| | | public void OnConfigParseCompleted()
|
| | | {
|
| | | t_ItemPM.Add(StringUtility.Contact(EquipType, equipStar).ToString(), this);
|
| | | var key = EquipType * 100 + equipStar;
|
| | | t_ItemPM[key] = this;
|
| | | }
|
| | |
|
| | | public static ItemPlusMaxConfig GetEquipTypeAndEquipStar(int equipType, int equipStar)//获取强化类型,装备星数
|
| | | {
|
| | | var key = equipType * 100 + equipStar;
|
| | | ItemPlusMaxConfig itemPMax = null;
|
| | | t_ItemPM.TryGetValue(StringUtility.Contact(equipType, equipStar).ToString(), out itemPMax);
|
| | | t_ItemPM.TryGetValue(key, out itemPMax);
|
| | | return itemPMax;
|
| | | }
|
| | |
|
| New file |
| | |
| | | using UnityEngine;
|
| | | using System.Collections;
|
| | |
|
| | | // A3 16 装备强化进化 #tagCMEquipPlusEvolve
|
| | |
|
| | | public class CA316_tagCMEquipPlusEvolve : GameNetPackBasic {
|
| | | public ushort ItemIndex; //装备在背包中索引
|
| | |
|
| | | public CA316_tagCMEquipPlusEvolve () {
|
| | | combineCmd = (ushort)0x03FE;
|
| | | _cmd = (ushort)0xA316;
|
| | | }
|
| | |
|
| | | public override void WriteToBytes () {
|
| | | WriteBytes (ItemIndex, NetDataType.WORD);
|
| | | }
|
| | |
|
| | | }
|
copy from System/ItemTip/ItemTipUtility.cs.meta
copy to Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA316_tagCMEquipPlusEvolve.cs.meta
| File was copied from System/ItemTip/ItemTipUtility.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1e29f156c73e78044934e85f0d55156d |
| | | timeCreated: 1552377672 |
| | | guid: f9ffe59f03c369a43bced6b271dac0ac |
| | | timeCreated: 1552534826 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 3e05761d690b75440a6be79207d0fb01 |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1d70ccd06161e0443b7a802ad94292f8 |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 71e878ac60c49ad4f964dd2dbc725739 |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: eed34091b0568664b9fb42f0634496c1 |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 32ceb8b7faf99f84a8b73ce53c5e3e4d |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 77f69c2b862d1704299a32d0d8eeb71e |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: fa14960fa44b0d1439bab471a764e34f |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| New file |
| | |
| | | fileFormatVersion: 2 |
| | | guid: d914565b65f8e8145988734c4d915834 |
| | | folderAsset: yes |
| | | timeCreated: 1547643019 |
| | | licenseType: Pro |
| | | DefaultImporter: |
| | | userData: |
| | | assetBundleName: |
| | | assetBundleVariant: |
| | |
| | | { |
| | | int _itemId = LuaAPI.xlua_tointeger(L, 2); |
| | | |
| | | System.Collections.Generic.Dictionary<int, int> gen_ret = gen_to_be_invoked.GetWingsLegendProperties( _itemId ); |
| | | translator.Push(L, gen_ret); |
| | | |
| | | |
| | | |
| | | return 1; |
| | | } |
| | | |
| | |
| | | { |
| | | ItemConfig _config = (ItemConfig)translator.GetObject(L, 2, typeof(ItemConfig)); |
| | | |
| | | System.Collections.Generic.Dictionary<int, int> gen_ret = gen_to_be_invoked.SetItemEffectDict( _config ); |
| | | translator.Push(L, gen_ret); |
| | | |
| | | |
| | | |
| | | return 1; |
| | | } |
| | | |
| | |
| | | case RoleEquipType.FairyCan2: |
| | | case RoleEquipType.Glove: |
| | | case RoleEquipType.Jade: |
| | | EquipSet.ClientPlaceToServerPlace(config.LV, config.EquipPlace); |
| | | serverEquipPlace = EquipSet.ClientPlaceToServerPlace(config.LV, config.EquipPlace); |
| | | break; |
| | | case RoleEquipType.Wing: |
| | | case RoleEquipType.Guard1: |
| | | case RoleEquipType.Guard2: |
| | | case RoleEquipType.PeerlessWeapon1: |
| | | case RoleEquipType.PeerlessWeapon2: |
| | | EquipSet.ClientPlaceToServerPlace(0, config.EquipPlace); |
| | | serverEquipPlace = EquipSet.ClientPlaceToServerPlace(0, config.EquipPlace); |
| | | break; |
| | | } |
| | | |
| | | return serverEquipPlace; |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | private void OnClickEvolutionBtn()
|
| | | {
|
| | |
|
| | | WindowCenter.Instance.Open<EquipEvolutionWin>();
|
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | protected override void AddListeners() |
| | | { |
| | | m_CloseButton.AddListener(()=> { CloseImmediately(); }); |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | |
| | | public Dictionary<int, EquipStrengthClass> EquipStrengthDic = new Dictionary<int, EquipStrengthClass>();//强化数据
|
| | | public Dictionary<int, EquipMaxLvClass> EquipLevelMaxDic = new Dictionary<int, EquipMaxLvClass>();//强化类型的最大等级上限
|
| | | public Dictionary<int, int> PartTypeDic = new Dictionary<int, int>();//强化的部位类型
|
| | | public Dictionary<int, int> EvolutionTypeMaxDic = new Dictionary<int, int>();
|
| | | public event Action EquipStrengthUpdate;//强化数据刷新
|
| | | public event Action SelectEquipRefresh;//二级页签刷新
|
| | | public event Action SelectLevelRefresh;//一级页签刷新
|
| | |
| | | var strengthenLevelLimit = FuncConfigConfig.Get("StrengthenLevelLimit").Numerical1;
|
| | | PartTypeDic = ConfigParse.GetDic<int, int>(strengthenLevelLimit);
|
| | | GetEquipLevelMax();
|
| | | GetEvolutionTypeMax();
|
| | | }
|
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | |
| | | CA301_tagEquipPlus CA301 = new CA301_tagEquipPlus();
|
| | | CA301.PackType = (byte)packTyp;
|
| | | CA301.ItemIndex = (ushort)equipIndex;
|
| | | GameNetSystem.Instance.SendInfo(CA301);//向服务器发送装备位 |
| | | GameNetSystem.Instance.SendInfo(CA301);
|
| | | }
|
| | |
|
| | | public void SendEquipPlusEvolve(int equipIndex)
|
| | | {
|
| | | CA316_tagCMEquipPlusEvolve CA316 = new CA316_tagCMEquipPlusEvolve();
|
| | | CA316.ItemIndex =(ushort)equipIndex;
|
| | | GameNetSystem.Instance.SendInfo(CA316);
|
| | | }
|
| | | private void GetEquipLevelMax()
|
| | | {
|
| | | var itemPlusMax = ItemPlusMaxConfig.GetValues();
|
| | |
| | | return itemPlusConfig;
|
| | | }
|
| | |
|
| | | public EquipPlusEvolveClass GetEquipPlusEvolve(int equipType, int equipLv=0)//获取装备进化数据
|
| | | public EquipPlusEvolveClass GetEquipPlusEvolve(int equipType, int equipLv = 0)//获取装备进化数据
|
| | | {
|
| | | EquipPlusEvolveClass equipPlusEvolve = new EquipPlusEvolveClass();
|
| | | var equipPlusEvolveConfig = EquipPlusEvolveConfig.GetEquipPlaceAndEvolveLV(equipType, equipLv);
|
| | |
| | | if (config != null)
|
| | | {
|
| | | equipPlusEvolve.AttrName = config.Name;
|
| | | float value= Dic2[key];
|
| | | float value = Dic2[key];
|
| | | switch (config.ISPercentage)
|
| | | {
|
| | | case 0:
|
| | | if (equipLv == 0)
|
| | | {
|
| | | equipPlusEvolve.AttrValue = 0.ToString();
|
| | | }
|
| | | equipPlusEvolve.AttrValue = value.ToString();
|
| | | break;
|
| | | case 1:
|
| | | equipPlusEvolve.AttrValue = (value/100).ToString()+"%";
|
| | | if (equipLv == 0)
|
| | | {
|
| | | equipPlusEvolve.AttrValue = 0.ToString() + "%";
|
| | | }
|
| | | equipPlusEvolve.AttrValue = (value / 100).ToString() + "%";
|
| | | break;
|
| | | case 2:
|
| | | equipPlusEvolve.AttrValue = value.ToString()+"%";
|
| | | if (equipLv == 0)
|
| | | {
|
| | | equipPlusEvolve.AttrValue = 0.ToString() + "%";
|
| | | }
|
| | | equipPlusEvolve.AttrValue = value.ToString() + "%";
|
| | | break;
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | return equipPlusEvolve;
|
| | | }
|
| | |
|
| | | private void GetEvolutionTypeMax()
|
| | | {
|
| | | var evolveValues = EquipPlusEvolveConfig.GetValues();
|
| | | foreach (var value in evolveValues)
|
| | | {
|
| | | if (EvolutionTypeMaxDic.ContainsKey(value.EquipPlace))
|
| | | {
|
| | | var lv = EvolutionTypeMaxDic[value.EquipPlace];
|
| | | if (value.EvolveLV > lv)
|
| | | {
|
| | | EvolutionTypeMaxDic[value.EquipPlace] = value.EvolveLV;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | EvolutionTypeMaxDic.Add(value.EquipPlace, value.EvolveLV);
|
| | | }
|
| | | }
|
| | | } |
| | | } |
| | | |
| | | |
| File was renamed from System/ItemTip/ItemTipUtility.cs |
| | |
| | | namespace Snxxz.UI |
| | | { |
| | | |
| | | public enum ItemTipType |
| | | public enum EquipTipType |
| | | { |
| | | Item = 0, |
| | | Equip = 1, |
| | |
| | | Good = 3, |
| | | } |
| | | |
| | | public class ItemTipUtility |
| | | public class EquipTipUtility |
| | | { |
| | | |
| | | public struct TipData |
| | |
| | | static EquipGemModel gemModel { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } } |
| | | static EquipTrainModel trainModel { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } } |
| | | |
| | | public static ItemTipType tipType { get; private set; } |
| | | public static EquipTipType tipType { get; private set; } |
| | | public static TipData mainTipData { get; private set; } |
| | | public static TipData secondaryData { get; private set; } |
| | | |
| | | public static void Show(ItemTipType type, int itemId) |
| | | public static void Show(EquipTipType type, int itemId) |
| | | { |
| | | tipType = type; |
| | | secondaryData = default(TipData); |
| | |
| | | |
| | | switch (type) |
| | | { |
| | | case ItemTipType.Item: |
| | | case EquipTipType.Item: |
| | | WindowCenter.Instance.Open<ItemTipWin>(); |
| | | break; |
| | | case ItemTipType.Equip: |
| | | case EquipTipType.Equip: |
| | | WindowCenter.Instance.Open<EquipTipWin>(); |
| | | break; |
| | | case ItemTipType.Good: |
| | | case EquipTipType.Good: |
| | | WindowCenter.Instance.Open<GoodTipWin>(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | public static void Show(ItemTipType type, string guid) |
| | | public static void Show(EquipTipType type, string guid) |
| | | { |
| | | var item = packModel.GetItemByGuid(guid); |
| | | if (item == null) |
| | |
| | | trainProperty = GetTrainProperty(guid) |
| | | }; |
| | | |
| | | if (tipType == ItemTipType.EquipCompare) |
| | | if (tipType == EquipTipType.EquipCompare) |
| | | { |
| | | var equipedGuid = equipModel.GetEquip(item.config.LV, item.config.EquipPlace); |
| | | var equipedItem = packModel.GetItemByGuid(equipedGuid); |
| | | if (equipedItem == null) |
| | | { |
| | | tipType = ItemTipType.Equip; |
| | | tipType = EquipTipType.Equip; |
| | | secondaryData = default(TipData); |
| | | } |
| | | else |
| | |
| | | |
| | | switch (type) |
| | | { |
| | | case ItemTipType.Item: |
| | | case EquipTipType.Item: |
| | | WindowCenter.Instance.Open<ItemTipWin>(); |
| | | break; |
| | | case ItemTipType.Equip: |
| | | case EquipTipType.Equip: |
| | | WindowCenter.Instance.Open<EquipTipWin>(); |
| | | break; |
| | | case ItemTipType.Good: |
| | | case EquipTipType.Good: |
| | | WindowCenter.Instance.Open<GoodTipWin>(); |
| | | break; |
| | | } |
| File was renamed from System/ItemTip/ItemTipUtility.cs.meta |
| | |
| | | fileFormatVersion: 2 |
| | | guid: 1e29f156c73e78044934e85f0d55156d |
| | | timeCreated: 1552377672 |
| | | guid: cf7cae7c5308be24380d2ca3154bd8db |
| | | timeCreated: 1552532488 |
| | | licenseType: Pro |
| | | MonoImporter: |
| | | serializedVersion: 2 |
| | |
| | | |
| | | private void DisplayTipInfo() |
| | | { |
| | | if (ItemTipUtility.tipType == ItemTipType.EquipCompare) |
| | | if (EquipTipUtility.tipType == EquipTipType.EquipCompare) |
| | | { |
| | | m_MainWidgetGroup.SetActive(true); |
| | | m_MainWidgetGroup.SetPosition(m_RightPoint.position); |
| | | m_MainWidgetGroup.Display(ItemTipUtility.mainTipData); |
| | | m_MainWidgetGroup.Display(EquipTipUtility.mainTipData); |
| | | |
| | | m_SecondaryWidgetGroup.SetActive(true); |
| | | m_SecondaryWidgetGroup.SetPosition(m_LeftPoint.position); |
| | | m_SecondaryWidgetGroup.Display(ItemTipUtility.secondaryData); |
| | | m_SecondaryWidgetGroup.Display(EquipTipUtility.secondaryData); |
| | | } |
| | | else |
| | | { |
| | | m_MainWidgetGroup.SetActive(true); |
| | | m_MainWidgetGroup.SetPosition(m_MiddlePoint.position); |
| | | m_MainWidgetGroup.Display(ItemTipUtility.mainTipData); |
| | | m_MainWidgetGroup.Display(EquipTipUtility.mainTipData); |
| | | |
| | | m_SecondaryWidgetGroup.SetActive(false); |
| | | } |
| | |
| | | |
| | | private void InitOperateButton() |
| | | { |
| | | if (string.IsNullOrEmpty(ItemTipUtility.mainTipData.guid)) |
| | | if (string.IsNullOrEmpty(EquipTipUtility.mainTipData.guid)) |
| | | { |
| | | foreach (var button in m_OpreateButtons) |
| | | { |
| | |
| | | else |
| | | { |
| | | var actions = new Dictionary<ItemOperateType, UnityAction>(); |
| | | if (ItemTipUtility.mainTipData.baseInfo.isAuction) |
| | | if (EquipTipUtility.mainTipData.baseInfo.isAuction) |
| | | { |
| | | actions[ItemOperateType.putAway] = () => { }; |
| | | } |
| | |
| | | this.container.position = position; |
| | | } |
| | | |
| | | public void Display(ItemTipUtility.TipData data) |
| | | public void Display(EquipTipUtility.TipData data) |
| | | { |
| | | baseInfoWidget.gameObject.SetActive(true); |
| | | baseInfoWidget.Display(data.baseInfo); |
| | |
| | | [SerializeField] RectTransform m_SurplusTimeContainer; |
| | | [SerializeField] Text m_SurplusTime; |
| | | |
| | | public void Display(ItemTipUtility.BaseInfo baseInfo) |
| | | public void Display(EquipTipUtility.BaseInfo baseInfo) |
| | | { |
| | | if (baseInfo.isEquiped) |
| | | { |
| | |
| | | { |
| | | [SerializeField] Text m_PropertyBehaviour; |
| | | |
| | | public void Display(ItemTipUtility.BaseProperty data) |
| | | public void Display(EquipTipUtility.BaseProperty data) |
| | | { |
| | | var count = Mathf.Min(data.baseProperties.Count, data.starProperties.Count); |
| | | var lines = new string[count]; |
| | |
| | | { |
| | | [SerializeField] GemBehaviour[] m_GemBehaviours; |
| | | |
| | | public void Display(ItemTipUtility.GemInfo gemInfo) |
| | | public void Display(EquipTipUtility.GemInfo gemInfo) |
| | | { |
| | | for (int i = 0; i < m_GemBehaviours.Length; i++) |
| | | { |
| | |
| | | { |
| | | [SerializeField] Text m_PropertyBehaviours; |
| | | |
| | | public void Display(ItemTipUtility.LegendProperty data) |
| | | public void Display(EquipTipUtility.LegendProperty data) |
| | | { |
| | | var count = data.properties.Count; |
| | | var lines = new string[count]; |
| | |
| | | { |
| | | [SerializeField] Text m_PropertyBehaviour; |
| | | |
| | | public void Display(ItemTipUtility.StrengthenProperty data) |
| | | public void Display(EquipTipUtility.StrengthenProperty data) |
| | | { |
| | | var count = data.properties.Count; |
| | | var lines = new string[count]; |
| | |
| | | [SerializeField] Text m_EightSuitTitle; |
| | | [SerializeField] Text m_EightSuitDescription; |
| | | |
| | | ItemTipUtility.SuitInfo suitInfo; |
| | | public void Display(ItemTipUtility.SuitInfo suitInfo) |
| | | EquipTipUtility.SuitInfo suitInfo; |
| | | public void Display(EquipTipUtility.SuitInfo suitInfo) |
| | | { |
| | | this.suitInfo = suitInfo; |
| | | |
| | |
| | | { |
| | | [SerializeField] Text m_PropertyBehaviour; |
| | | |
| | | public void Display(ItemTipUtility.TrainProperty data) |
| | | public void Display(EquipTipUtility.TrainProperty data) |
| | | { |
| | | var count = data.properties.Count; |
| | | var lines = new string[count]; |
| | |
| | | |
| | | private Dictionary<int, int> GetEquipLegendProperties(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | var legendIdlist = new List<int>(); |
| | | |
| | | if (LegendPropertyUtility.HasEquipPlace(config.EquipPlace)) |
| | | { |
| | | for (var i = 0; i < 3; i++) |
| | | { |
| | | var type = (LegendAttrType)i; |
| | | var count = LegendPropertyUtility.GetEquipPropertyCount(config.ItemColor, config.StarLevel, type); |
| | | if (count > 0) |
| | | { |
| | | var propertyIds = LegendPropertyUtility.GetEquipPlaceProperties(config.EquipPlace, type); |
| | | legendIdlist.AddRange(propertyIds.GetRange(0, count)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | var legendProperties = LegendPropertyUtility.GetEquipProperties(itemId); |
| | | var properties = new Dictionary<int, int>(); |
| | | for (int i = 0; i < legendIdlist.Count; i++) |
| | | { |
| | | var propertyId = legendIdlist[i]; |
| | | var qualityPropertyValue = LegendPropertyUtility.GetEquipQualityPropertyValue(propertyId, config.ItemColor); |
| | | if (qualityPropertyValue != 0) |
| | | { |
| | | properties[propertyId] = qualityPropertyValue; |
| | | } |
| | | else |
| | | { |
| | | var levelPropertyValue = LegendPropertyUtility.GetEquipLevelPropertyValue(propertyId, config.LV); |
| | | if (levelPropertyValue != 0) |
| | | { |
| | | properties[propertyId] = levelPropertyValue; |
| | | } |
| | | } |
| | | |
| | | if (legendProperties != null)
|
| | | {
|
| | | foreach (var item in legendProperties)
|
| | | {
|
| | | properties[item.x] = item.y;
|
| | | }
|
| | | } |
| | | |
| | | return properties; |
| | | } |
| | | |
| | | public Dictionary<int, int> GetWingsLegendProperties(int itemId) |
| | | private Dictionary<int, int> GetWingsLegendProperties(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | var properties = new Dictionary<int, int>(); |
| | |
| | | private int playerLv; |
| | | private Dictionary<int, List<ItemModel>> _lifePotionDict = new Dictionary<int, List<ItemModel>>(); //key 药水等级 |
| | | private List<int> _sellItemScorelist = new List<int>(); |
| | | private Dictionary<int, Dictionary<int, List<ItemModel>>> _sameIndexEquipDict = new Dictionary<int, Dictionary<int, List<ItemModel>>>(); //存储相同装备位的装备 |
| | | // private _sameEquipScoreDict = new Dictionary<int, List<ItemModel>>(); //存储相同ID中相同装备评分的装备 |
| | | private Dictionary<int, Dictionary<int, List<ItemModel>>> _sameIndexEquipDict = new Dictionary<int, Dictionary<int, List<ItemModel>>>(); //存储相同装备位的装备
|
| | | // private _sameEquipScoreDict = new Dictionary<int, List<ItemModel>>(); //存储相同ID中相同装备评分的装备
|
| | | private Dictionary<int, ItemModel> _packModelDict; |
| | | private List<ItemModel> _sellItemlist = new List<ItemModel>(); |
| | | |
| | |
| | | public void SetCurrentAttrData(ItemModel itemModel, bool isCompare)
|
| | | {
|
| | | curAttrData = new ItemAttrData(itemModel.itemId, false, (ulong)itemModel.count
|
| | | , itemModel.gridIndex, isCompare
|
| | | , itemModel.gridIndex, isCompare
|
| | | , itemModel.packType, itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.userData), ItemTipChildType.Normal);
|
| | | }
|
| | |
|
| | |
| | | if (itemModel == null) return;
|
| | |
|
| | | compareAttrData = new ItemAttrData(itemModel.itemId, false, (ulong)itemModel.count
|
| | | , itemModel.gridIndex, true
|
| | | , itemModel.gridIndex, true
|
| | | , type, itemModel.guid, ConfigParse.Analysis(itemModel.itemInfo.userData));
|
| | | }
|
| | |
|
| | |
| | | attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.GotoInlayItem(attrData.guid); });
|
| | | }
|
| | |
|
| | | if (attrData.itemConfig.CanTrade == 1 )
|
| | | if (attrData.itemConfig.CanTrade == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemOperateType.putAway, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutAwayItem(attrData.guid); });
|
| | | }
|
| | |
| | | if (attrData == null)
|
| | | return "";
|
| | |
|
| | | Dictionary<int, int> itemEffectDict = SetItemEffectDict(attrData.itemConfig);
|
| | | Dictionary<int, int> itemEffectDict = GetItemEffectDict(attrData.itemConfig);
|
| | | attrSB.Length = 0;
|
| | | string atkStr = "";
|
| | | string otherStr = "";
|
| | |
| | | int curHp = 0;
|
| | | int curHurt = 0;
|
| | |
|
| | | Dictionary<int, int> itemEffectDict = SetItemEffectDict(attrData.itemConfig);
|
| | | Dictionary<int, int> itemEffectDict = GetItemEffectDict(attrData.itemConfig);
|
| | | Dictionary<int, int> wingAttrModelDict = ConfigParse.GetDic<int, int>(wingRefine.attrupper);
|
| | |
|
| | | foreach (var key in itemEffectDict.Keys)
|
| | |
| | | }
|
| | | else
|
| | | {
|
| | | var quality = attrData.itemConfig.ItemColor;
|
| | | var starLevel = attrData.itemConfig.StarLevel;
|
| | | var count = LegendPropertyUtility.GetEquipPropertyCount(quality, starLevel);
|
| | | if (starLevel > 2)
|
| | | {
|
| | | s = Language.Get("LegendAttPreview_MustTitle", count);
|
| | | }
|
| | | else
|
| | | {
|
| | | s = Language.Get("LegendAttPreview_MightTitle", count);
|
| | | }
|
| | | var count = LegendPropertyUtility.GetEquipPropertyCount(attrData.itemId);
|
| | | s = Language.Get("LegendAttPreview_MightTitle", count);
|
| | | }
|
| | |
|
| | | return s;
|
| | |
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | idlist.Sort(CompareLegendAttrType);
|
| | | break;
|
| | | case 121:
|
| | | case 122:
|
| | |
| | | case 11:
|
| | | s = string.Format("<color=#{0}>{1}</color>", LegendPropertyUtility.GetWingPropertyColor(attrId, attrDict[attrId]), s);
|
| | | break;
|
| | | case 1:
|
| | | case 2:
|
| | | case 3:
|
| | | case 4:
|
| | | case 5:
|
| | | case 6:
|
| | | case 7:
|
| | | case 8:
|
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | s = GetTextColorByLegendType(GetLegendType(attrId), s);
|
| | | break;
|
| | | case 101:
|
| | | case 102:
|
| | | case 103:
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private int CompareLegendAttrType(int start, int end)
|
| | | {
|
| | | int type1 = GetLegendType(start);
|
| | | int type2 = GetLegendType(end);
|
| | | if (type1.CompareTo(type2) != 0) return type1.CompareTo(type2);
|
| | |
|
| | | return 0;
|
| | | }
|
| | |
|
| | | private int CompareJadeDynastyLegendColorType(int start, int end)
|
| | | {
|
| | | int value1 = attrDict[start];
|
| | |
| | | if (type1.CompareTo(type2) != 0) return -type1.CompareTo(type2);
|
| | |
|
| | | return 0;
|
| | | }
|
| | |
|
| | | private int GetLegendType(int id)
|
| | | {
|
| | | return (int)LegendPropertyUtility.GetEquipPropertyType(id);
|
| | | }
|
| | |
|
| | | private int GetDogzLegendType(int id)
|
| | |
| | | return s;
|
| | | }
|
| | |
|
| | | public Dictionary<int, int> SetItemEffectDict(ItemConfig config)
|
| | | Dictionary<int, int> GetItemEffectDict(ItemConfig config)
|
| | | {
|
| | | Dictionary<int, int> itemEffectDict = new Dictionary<int, int>();
|
| | | if (config == null) return itemEffectDict;
|
| | |
| | | {
|
| | | DebugEx.Log(ex.ToString());
|
| | | }
|
| | |
|
| | | return itemEffectDict;
|
| | | }
|
| | |
|
| | |
| | | var fruitlist = AttrFruitConfig.GetKeys();
|
| | |
|
| | | Dictionary<int, int> attrDict = new Dictionary<int, int>();
|
| | | Dictionary<int, int> itemEffectDict = SetItemEffectDict(itemConfig);
|
| | | Dictionary<int, int> itemEffectDict = GetItemEffectDict(itemConfig);
|
| | | int atk = 0;
|
| | | int hp = 0;
|
| | | int def = 0;
|
| | |
| | | case 11:
|
| | | SetWingsLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | case 1:
|
| | | case 2:
|
| | | case 3:
|
| | | case 4:
|
| | | case 5:
|
| | | case 6:
|
| | | case 7:
|
| | | case 8:
|
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | SetEquipLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | case 101:
|
| | | case 102:
|
| | | case 103:
|
| | | case 104:
|
| | | case 105:
|
| | | SetDogzEquipLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | }
|
| | |
|
| | | var packType = GeneralDefine.GetPackTypeByItemType(itemConfig.Type);
|
| | | switch (packType)
|
| | | {
|
| | | case PackType.JadeDynastyItem:
|
| | | SetJadeDynastyEquipLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void SetEquipLegendAttrPreview(out List<int> ids, out List<int> values)
|
| | | {
|
| | | ids = new List<int>();
|
| | | values = new List<int>();
|
| | | var equipPlace = itemConfig.EquipPlace;
|
| | |
|
| | | if (LegendPropertyUtility.HasEquipPlace(equipPlace))
|
| | | {
|
| | | ids.AddRange(LegendPropertyUtility.GetEquipPlaceProperties(equipPlace));
|
| | | }
|
| | |
|
| | | for (var i = ids.Count - 1; i >= 0; i--)
|
| | | {
|
| | | var propertyId = ids[i];
|
| | | if (LegendPropertyUtility.GetEquipPropertyType(propertyId) == LegendAttrType.Normal)
|
| | | {
|
| | | ids.RemoveAt(i);
|
| | | }
|
| | | }
|
| | |
|
| | | for (var i = 0; i < ids.Count; i++)
|
| | | {
|
| | | var propertyId = ids[i];
|
| | | var qualityPropertyValue = LegendPropertyUtility.GetEquipQualityPropertyValue(propertyId, itemConfig.ItemColor);
|
| | | if (qualityPropertyValue != 0)
|
| | | {
|
| | | values.Add(qualityPropertyValue);
|
| | | }
|
| | | else
|
| | | {
|
| | | var levelPropertyValue = LegendPropertyUtility.GetEquipLevelPropertyValue(propertyId, itemConfig.LV);
|
| | | if (levelPropertyValue != 0)
|
| | | {
|
| | | values.Add(levelPropertyValue);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void SetDogzEquipLegendAttrPreview(out List<int> legendIdlist, out List<int> legendValuelist)
|
| | | {
|
| | | legendIdlist = new List<int>();
|
| | |
| | | legendValuelist.Add(value);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | private void SetJadeDynastyEquipLegendAttrPreview(out List<int> legendIdlist, out List<int> legendValuelist)
|
| | | {
|
| | | Dictionary<int, int> attrDict = null;
|
| | | itemTipsModel.TryGetJadeDynastyLegendAttr(itemId, out attrDict);
|
| | | legendIdlist = attrDict.Keys.ToList();
|
| | | legendValuelist = attrDict.Values.ToList();
|
| | | }
|
| | |
|
| | | private StringBuilder _extraInfoBuider = new StringBuilder();
|
| | |
| | | if (lv <= 0) return;
|
| | |
|
| | | strengthDataDict = new Dictionary<int, int>();
|
| | | //itemPlus = ItemPlusConfig.GetItemPlusData(type, lv);
|
| | | //if (itemPlus != null)
|
| | | //{
|
| | | // int[] attrIDs = itemPlus.attrIds;
|
| | | // int[] attrValues = itemPlus.attrValues;
|
| | | // int i = 0;
|
| | | // for (i = 0; i < attrIDs.Length; i++)
|
| | | // {
|
| | | // strengthDataDict.Add(attrIDs[i], attrValues[i]);
|
| | | // }
|
| | | //}
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | for (i = 0; i < ids.Count; i++)
|
| | | {
|
| | | exhaustedMaxDataDict.Add(ids[i], values[i]);
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设置弹框的洗练数据
|
| | | /// </summary>
|
| | | /// <param name="type"></param>
|
| | | /// <param name="lv"></param>
|
| | | /// <param name="values"></param>
|
| | | private EquipWashConfig.EquipWashData tagWashModel;
|
| | | public void SetWashModel(int type, int lv, int[] values)
|
| | | {
|
| | | washDataDict = null;
|
| | | bool isWash = false;
|
| | | int i = 0;
|
| | | for (i = 0; i < values.Length; i++)
|
| | | {
|
| | | if (values[i] > 0)
|
| | | {
|
| | | isWash = true;
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | if (!isWash)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
|
| | | washDataDict = new Dictionary<int, int>();
|
| | | this.tagWashModel = EquipWashConfig.Get(type, lv);
|
| | | if (this.tagWashModel != null)
|
| | | {
|
| | | for (i = 0; i < values.Length; i++)
|
| | | {
|
| | | switch (i)
|
| | | {
|
| | | case 0:
|
| | | washDataDict.Add(tagWashModel.config.attType1, values[0]);
|
| | | break;
|
| | | case 1:
|
| | | washDataDict.Add(tagWashModel.config.attType2, values[1]);
|
| | | break;
|
| | | case 2:
|
| | | washDataDict.Add(tagWashModel.config.attType3, values[2]);
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | public class LegendPropertyUtility |
| | | { |
| | | static PropertyColor propertyColor; |
| | | static PropertyMap equipPropertyMap; |
| | | static PropertyMap dogzPropertyMap; |
| | | static PropertyCount equipPropertyCount; |
| | | static PropertyCount dogzPropertyCount; |
| | | static QualityPropertyValue equipQualityPropertyValue; |
| | | static QualityPropertyValue dogzQualityPropertyValue; |
| | | static LevelPropertyValue equipLevelPropertyValue; |
| | | static WingPropertyCount wingPropertyCount; |
| | | static WingPropertyValue wingPropertyValue; |
| | | |
| | | public static void Init() |
| | | { |
| | | propertyColor = new PropertyColor("LegendAttrColor"); |
| | | |
| | | equipPropertyMap = new PropertyMap(FuncConfigConfig.Get("LegendAttrColor").Numerical1, |
| | | FuncConfigConfig.Get("LegendAttrRulePreview").Numerical1); |
| | | |
| | | dogzPropertyMap = new PropertyMap(FuncConfigConfig.Get("DogzLegendAttrColor").Numerical1, |
| | | FuncConfigConfig.Get("DogzLegendAttrRulePreview").Numerical1); |
| | | |
| | | equipPropertyCount = new PropertyCount(FuncConfigConfig.Get("LegendAttrCountPreview").Numerical1); |
| | | dogzPropertyCount = new PropertyCount(FuncConfigConfig.Get("DogzLegendAttrCountPreview").Numerical1); |
| | | |
| | | equipQualityPropertyValue = new QualityPropertyValue(FuncConfigConfig.Get("LegendAttrValueByColorPreview").Numerical1); |
| | | dogzQualityPropertyValue = new QualityPropertyValue(FuncConfigConfig.Get("DogzLegendAttrValueByColorPreview").Numerical1); |
| | | |
| | | equipLevelPropertyValue = new LevelPropertyValue(FuncConfigConfig.Get("LegendAttrValueByClassLVPreview").Numerical1); |
| | | |
| | | wingPropertyCount = new WingPropertyCount(); |
| | | wingPropertyValue = new WingPropertyValue(); |
| | | } |
| | | |
| | | public static List<Int2> GetEquipProperties(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | if (config == null) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | var legendPropertyConfig = LegendPropertyValueConfig.Get(config.Type, config.LV, config.ItemColor, config.SuiteiD != 0); |
| | | if (legendPropertyConfig == null) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | return new List<Int2>(legendPropertyConfig.previewValue); |
| | | } |
| | | |
| | | public static int GetEquipPropertyCount(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | if (config == null) |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | var legendPropertyConfig = LegendPropertyValueConfig.Get(config.Type, config.LV, config.ItemColor, config.SuiteiD != 0); |
| | | if (legendPropertyConfig == null) |
| | | { |
| | | return 0; |
| | | } |
| | | |
| | | return legendPropertyConfig.propertyCount; |
| | | } |
| | | |
| | | public static string GetWingPropertyColor(int propertyId, int value) |
| | | { |
| | | return propertyColor.GetWingPropertyColor(propertyId, value); |
| | | } |
| | | |
| | | public static LegendAttrType GetEquipPropertyType(int propertyId) |
| | | { |
| | | return equipPropertyMap.GetPropertyType(propertyId); |
| | | } |
| | | |
| | | public static bool HasEquipPlace(int place) |
| | | { |
| | | return equipPropertyMap.HasPlace(place); |
| | | } |
| | | |
| | | public static bool HasEquipProperty(int place, int propertyId) |
| | | { |
| | | if (!HasEquipPlace(place)) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | return equipPropertyMap.GetProperties(place).Contains(propertyId); |
| | | } |
| | | |
| | | public static List<int> GetEquipPlaceProperties(int place) |
| | | { |
| | | return equipPropertyMap.GetProperties(place); |
| | | } |
| | | |
| | | public static List<int> GetEquipPlaceProperties(int place, LegendAttrType type) |
| | | { |
| | | return equipPropertyMap.GetProperties(place); |
| | | } |
| | | |
| | | public static LegendAttrType GetDogzPropertyType(int propertyId) |
| | |
| | | return dogzPropertyMap.HasPlace(place); |
| | | } |
| | | |
| | | public static bool HasDogzProperty(int place, int propertyId) |
| | | { |
| | | if (!HasEquipPlace(place)) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | return dogzPropertyMap.GetProperties(place).Contains(propertyId); |
| | | } |
| | | |
| | | public static List<int> GetDogzPlaceProperties(int place) |
| | | { |
| | | return dogzPropertyMap.GetProperties(place); |
| | | } |
| | | |
| | | public static int GetEquipPropertyCount(int quality, int star, LegendAttrType type) |
| | | { |
| | | return equipPropertyCount.GetCount(quality, star, type); |
| | | } |
| | | |
| | | public static int GetEquipPropertyCount(int quality, int star) |
| | | { |
| | | return equipPropertyCount.GetCount(quality, star, LegendAttrType.Normal) |
| | | + equipPropertyCount.GetCount(quality, star, LegendAttrType.Fixed) |
| | | + equipPropertyCount.GetCount(quality, star, LegendAttrType.Fixed); |
| | | } |
| | | |
| | | public static int GetDogzPropertyCount(int quality, int star, LegendAttrType type) |
| | |
| | | return dogzPropertyCount.GetCount(quality, star, type); |
| | | } |
| | | |
| | | public static int GetEquipQualityPropertyValue(int property, int quality) |
| | | { |
| | | return equipQualityPropertyValue.GetValue(property, quality); |
| | | } |
| | | |
| | | public static int GetDogzQualityPropertyValue(int property, int quality) |
| | | { |
| | | return dogzQualityPropertyValue.GetValue(property, quality); |
| | | } |
| | | |
| | | public static int GetEquipLevelPropertyValue(int property, int level) |
| | | { |
| | | return equipLevelPropertyValue.GetValue(property, level); |
| | | } |
| | | |
| | | public static int GetWingPropertyCount(int level) |
| | |
| | | return 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public class LevelPropertyValue |
| | | { |
| | | // key 属性ID value 装备阶级,属性数值 |
| | | Dictionary<int, Dictionary<int, int>> levelValues = new Dictionary<int, Dictionary<int, int>>(); |
| | | |
| | | public LevelPropertyValue(string config) |
| | | { |
| | | var json = JsonMapper.ToObject(config); |
| | | levelValues = new Dictionary<int, Dictionary<int, int>>(); |
| | | foreach (var key in json.Keys) |
| | | { |
| | | var propertyId = int.Parse(key); |
| | | var levelToValue = new Dictionary<int, int>(); |
| | | levelValues.Add(int.Parse(key), levelToValue); |
| | | |
| | | var subJson = json[key]; |
| | | for (var i = 0; i < subJson.Count; i++) |
| | | { |
| | | levelToValue[(int)subJson[i][0]] = (int)subJson[i][1]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | public bool Has(int property) |
| | | { |
| | | return levelValues.ContainsKey(property); |
| | | } |
| | | |
| | | public bool Has(int property, int level) |
| | | { |
| | | if (!levelValues.ContainsKey(property)) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | return levelValues[property].ContainsKey(property); |
| | | } |
| | | |
| | | public int GetValue(int property, int level) |
| | | { |
| | | if (Has(property, level)) |
| | | { |
| | | return levelValues[property][level]; |
| | | } |
| | | else |
| | | { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | public class WingPropertyCount |
| | |
| | | normalTasks.Add(new ConfigInitTask("EquipStarConfig", () => { EquipStarConfig.Init(); }, () => { return EquipStarConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("WashLevelMaxConfig", () => { WashLevelMaxConfig.Init(); }, () => { return WashLevelMaxConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("EquipPlusEvolveConfig", () => { EquipPlusEvolveConfig.Init(); }, () => { return EquipPlusEvolveConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("LegendPropertyValueConfig", () => { LegendPropertyValueConfig.Init(); }, () => { return LegendPropertyValueConfig.inited; })); |
| | | normalTasks.Add(new ConfigInitTask("LegendPropertyConfig", () => { LegendPropertyConfig.Init(); }, () => { return LegendPropertyConfig.inited; })); |
| | | } |
| | | |
| | | static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>(); |