| New file |
| | |
| | | //-------------------------------------------------------- |
| | | // [Author]: 第二世界 |
| | | // [ Date ]: Tuesday, March 12, 2019 |
| | | //-------------------------------------------------------- |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using UnityEngine.UI; |
| | | using System.Collections.Generic; |
| | | |
| | | namespace Snxxz.UI |
| | | { |
| | | |
| | | public enum ItemTipType |
| | | { |
| | | Item = 0, |
| | | Equip = 1, |
| | | } |
| | | |
| | | public class ItemTipUtility |
| | | { |
| | | |
| | | public struct TipData |
| | | { |
| | | public int itemId; |
| | | public string guid; |
| | | public bool isAuction; |
| | | public bool isEquiped; |
| | | |
| | | public BaseInfo baseInfo; |
| | | public BaseProperty baseProperty; |
| | | public LegendProperty legendProperty; |
| | | public SuitInfo suitInfo; |
| | | public StrengthenProperty strengthenProperty; |
| | | public GemInfo gemInfo; |
| | | public TrainProperty trainProperty; |
| | | } |
| | | |
| | | public struct BaseInfo |
| | | { |
| | | public string name; |
| | | public int realm; |
| | | public int score; |
| | | public int auctionSurplusTime; |
| | | } |
| | | |
| | | public struct BaseProperty |
| | | { |
| | | public List<Int2> baseProperties; |
| | | public List<Int2> starProperties; |
| | | } |
| | | |
| | | public struct LegendProperty |
| | | { |
| | | public List<Int2> properties; |
| | | } |
| | | |
| | | public struct SuitInfo |
| | | { |
| | | public string name; |
| | | public int level; |
| | | public int maxSuitLevel; |
| | | public List<int> places; |
| | | public Dictionary<int, EquipSuitPropertyEntry> twoSuitProperties; |
| | | public Dictionary<int, EquipSuitPropertyEntry> fiveSuitProperties; |
| | | public Dictionary<int, bool> eightSuits; |
| | | } |
| | | |
| | | public struct StrengthenProperty |
| | | { |
| | | public List<Int2> properties; |
| | | } |
| | | |
| | | public struct GemInfo |
| | | { |
| | | public Dictionary<int, int> gems; |
| | | } |
| | | |
| | | public struct TrainProperty |
| | | { |
| | | public List<Int2> properties; |
| | | } |
| | | |
| | | static PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } |
| | | static EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } |
| | | static EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } } |
| | | static EquipGemModel gemModel { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } } |
| | | static EquipTrainModel trainModel { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } } |
| | | |
| | | public static TipData tipData { get; private set; } |
| | | |
| | | public static void Show(ItemTipType type, int itemId) |
| | | { |
| | | tipData = new TipData() |
| | | { |
| | | itemId = itemId, |
| | | guid = string.Empty, |
| | | isAuction = false, |
| | | isEquiped = false, |
| | | baseInfo = GetBaseInfo(itemId), |
| | | baseProperty = GetBaseProperty(itemId), |
| | | legendProperty = GetLegendProperty(itemId), |
| | | suitInfo = GetSuitInfo(itemId), |
| | | gemInfo = GetGemInfo(itemId), |
| | | }; |
| | | } |
| | | |
| | | public static void Show(ItemTipType type, string guid) |
| | | { |
| | | var item = packModel.GetItemByGuid(guid); |
| | | if (item == null) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | tipData = new TipData() |
| | | { |
| | | itemId = item.itemId, |
| | | guid = guid, |
| | | isAuction = item.isBind == 1, |
| | | isEquiped = equipModel.GetEquip(item.config.LV, item.config.EquipPlace) == guid, |
| | | baseInfo = GetBaseInfo(guid), |
| | | baseProperty = GetBaseProperty(guid), |
| | | legendProperty = GetLegendProperty(guid), |
| | | suitInfo = GetSuitInfo(guid), |
| | | strengthenProperty = GetStrengthenProperty(guid), |
| | | gemInfo = GetGemInfo(guid), |
| | | trainProperty = GetTrainProperty(guid) |
| | | }; |
| | | } |
| | | |
| | | private static BaseInfo GetBaseInfo(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | var baseInfo = new BaseInfo() |
| | | { |
| | | name = config.ItemName, |
| | | realm = config.RealmLimit, |
| | | score = ItemLogicUtility.Instance.GetEquipScore(PackType.Item, itemId, null, true), |
| | | auctionSurplusTime = 0, |
| | | }; |
| | | |
| | | return baseInfo; |
| | | } |
| | | |
| | | private static BaseInfo GetBaseInfo(string guid) |
| | | { |
| | | var item = packModel.GetItemByGuid(guid); |
| | | var baseInfo = new BaseInfo() |
| | | { |
| | | name = item.config.ItemName, |
| | | realm = item.config.RealmLimit, |
| | | score = item.equipScore, |
| | | auctionSurplusTime = 0, |
| | | }; |
| | | |
| | | return baseInfo; |
| | | } |
| | | |
| | | private static BaseProperty GetBaseProperty(int itemId) |
| | | { |
| | | var baseProperties = new List<Int2>(); |
| | | var config = ItemConfig.Get(itemId); |
| | | |
| | | if (config.Effect1 != 0) |
| | | { |
| | | baseProperties.Add(new Int2(config.Effect1, config.EffectValueA1)); |
| | | } |
| | | |
| | | if (config.Effect2 != 0) |
| | | { |
| | | baseProperties.Add(new Int2(config.Effect2, config.EffectValueA2)); |
| | | } |
| | | |
| | | if (config.Effect3 != 0) |
| | | { |
| | | baseProperties.Add(new Int2(config.Effect3, config.EffectValueA3)); |
| | | } |
| | | |
| | | if (config.Effect4 != 0) |
| | | { |
| | | baseProperties.Add(new Int2(config.Effect4, config.EffectValueA4)); |
| | | } |
| | | |
| | | if (config.Effect5 != 0) |
| | | { |
| | | baseProperties.Add(new Int2(config.Effect5, config.EffectValueA5)); |
| | | } |
| | | |
| | | var baseProperty = new BaseProperty() |
| | | { |
| | | baseProperties = baseProperties, |
| | | }; |
| | | |
| | | return baseProperty; |
| | | } |
| | | |
| | | private static BaseProperty GetBaseProperty(string guid) |
| | | { |
| | | var item = packModel.GetItemByGuid(guid); |
| | | var baseProperty = GetBaseProperty(item.itemId); |
| | | |
| | | var starProperties = new List<Int2>(); |
| | | var star = starModel.GetEquipStarLevel(item.config.LV, item.config.EquipPlace); |
| | | if (star > 0) |
| | | { |
| | | var starConfig = EquipStarConfig.Get(item.config.LV, item.config.EquipPlace, star); |
| | | starProperties.AddRange(starConfig.BaseAttrInfo); |
| | | } |
| | | |
| | | baseProperty.starProperties = starProperties; |
| | | return baseProperty; |
| | | } |
| | | |
| | | private static LegendProperty GetLegendProperty(int itemId) |
| | | { |
| | | |
| | | return default(LegendProperty); |
| | | } |
| | | |
| | | private static LegendProperty GetLegendProperty(string guid) |
| | | { |
| | | |
| | | return default(LegendProperty); |
| | | } |
| | | |
| | | private static SuitInfo GetSuitInfo(int itemId) |
| | | { |
| | | var config = ItemConfig.Get(itemId); |
| | | var job = config.JobLimit / 100; |
| | | var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); |
| | | |
| | | var name = twoConfigs[0].name; |
| | | |
| | | var level = config.LV; |
| | | var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level); |
| | | var places = new List<int>(); |
| | | for (int i = 1; i <= 8; i++) |
| | | { |
| | | var equip = packModel.GetItemByGuid(equipModel.GetEquip(level, i)); |
| | | var hasSuit = equip != null && equip.config.SuiteiD > 0; |
| | | if (hasSuit) |
| | | { |
| | | places.Add(i); |
| | | } |
| | | } |
| | | |
| | | var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); |
| | | var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); |
| | | var eightSuits = new Dictionary<int, bool>(); |
| | | var eightSuitLevel = equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit); |
| | | |
| | | twoSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit); |
| | | eightSuits[0] = eightSuitLevel >= 0; |
| | | |
| | | if (maxSuitLevel >= 3) |
| | | { |
| | | twoSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.FiveSuit); |
| | | eightSuits[3] = eightSuitLevel >= 3; |
| | | } |
| | | |
| | | if (maxSuitLevel >= 6) |
| | | { |
| | | twoSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.FiveSuit); |
| | | eightSuits[6] = eightSuitLevel >= 3; |
| | | } |
| | | |
| | | if (maxSuitLevel >= 9) |
| | | { |
| | | twoSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.FiveSuit); |
| | | eightSuits[9] = eightSuitLevel >= 9; |
| | | } |
| | | |
| | | var suitInfo = new SuitInfo() |
| | | { |
| | | name = name, |
| | | level = level, |
| | | maxSuitLevel = maxSuitLevel, |
| | | places = places, |
| | | twoSuitProperties = twoSuitProperties, |
| | | fiveSuitProperties = fiveSuitProperties, |
| | | eightSuits = eightSuits |
| | | }; |
| | | |
| | | return suitInfo; |
| | | } |
| | | |
| | | private static SuitInfo GetSuitInfo(string guid) |
| | | { |
| | | var item = packModel.GetItemByGuid(guid); |
| | | var config = ItemConfig.Get(item.itemId); |
| | | var job = config.JobLimit / 100; |
| | | var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); |
| | | |
| | | var name = twoConfigs[0].name; |
| | | |
| | | var level = config.LV; |
| | | var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level); |
| | | var places = new List<int>(); |
| | | for (int i = 1; i <= 8; i++) |
| | | { |
| | | var equip = packModel.GetItemByGuid(equipModel.GetEquip(level, i)); |
| | | var hasSuit = equip != null && equip.config.SuiteiD > 0; |
| | | if (hasSuit) |
| | | { |
| | | places.Add(i); |
| | | } |
| | | } |
| | | |
| | | var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); |
| | | var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); |
| | | var eightSuits = new Dictionary<int, bool>(); |
| | | var eightSuitLevel = equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit); |
| | | |
| | | twoSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[0] = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit); |
| | | eightSuits[0] = eightSuitLevel >= 0; |
| | | |
| | | if (maxSuitLevel >= 3) |
| | | { |
| | | twoSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[3] = equipModel.GetEquipSuitEntry(config.LV, 3, EquipSuitType.FiveSuit); |
| | | eightSuits[3] = eightSuitLevel >= 3; |
| | | } |
| | | |
| | | if (maxSuitLevel >= 6) |
| | | { |
| | | twoSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[6] = equipModel.GetEquipSuitEntry(config.LV, 6, EquipSuitType.FiveSuit); |
| | | eightSuits[6] = eightSuitLevel >= 3; |
| | | } |
| | | |
| | | if (maxSuitLevel >= 9) |
| | | { |
| | | twoSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.TwoSuit); |
| | | fiveSuitProperties[9] = equipModel.GetEquipSuitEntry(config.LV, 9, EquipSuitType.FiveSuit); |
| | | eightSuits[9] = eightSuitLevel >= 9; |
| | | } |
| | | |
| | | var suitInfo = new SuitInfo() |
| | | { |
| | | name = name, |
| | | level = level, |
| | | maxSuitLevel = maxSuitLevel, |
| | | places = places, |
| | | twoSuitProperties = twoSuitProperties, |
| | | fiveSuitProperties = fiveSuitProperties, |
| | | eightSuits = eightSuits |
| | | }; |
| | | |
| | | return suitInfo; |
| | | } |
| | | |
| | | private static StrengthenProperty GetStrengthenProperty(string guid) |
| | | { |
| | | |
| | | return default(StrengthenProperty); |
| | | } |
| | | |
| | | private static GemInfo GetGemInfo(int itemId) |
| | | { |
| | | return default(GemInfo); |
| | | } |
| | | |
| | | private static GemInfo GetGemInfo(string guid) |
| | | { |
| | | return default(GemInfo); |
| | | } |
| | | |
| | | private static TrainProperty GetTrainProperty(string guid) |
| | | { |
| | | return default(TrainProperty); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |