| Main/System/BeautyMM/BeautyMMManager.Travel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BeautyMM/BeautyMMManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BeautyMM/BeautyMMTravelWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/ItemTip/BoxGetItemModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/ItemTip/ItemBatchUseWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/ItemTip/ItemBatchUseWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/ItemTip/ItemTipUtility.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/KnapSack/Logic/ItemLogicUtility.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/KnapSack/PackManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Message/RichTableEvent.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/BeautyMM/BeautyMMManager.Travel.cs
@@ -21,6 +21,8 @@ public List<Int2> openChangeGridList = new List<Int2>(); // 前后对比,有变化的格子 ,打开前面前需清理 public event Action<int> OnTravelInfoUpdate; public int addEnergyItemID; public int addEnergyValue; public int maxGirds = 0; public Int2 clickGirdPos = new Int2(); public bool isClickDoor = false; // 是否点击过门,用于帮玩家自动重置 Main/System/BeautyMM/BeautyMMManager.cs
@@ -83,7 +83,8 @@ recoverTravelEnergyTime = int.Parse(config.Numerical2); travelRowCol = ConfigParse.GetMultipleStr<int>(config.Numerical3); maxGirds = travelRowCol[0] * travelRowCol[1]; addEnergyItemID = int.Parse(config.Numerical4); addEnergyValue = int.Parse(config.Numerical5); } Main/System/BeautyMM/BeautyMMTravelWin.cs
@@ -26,6 +26,7 @@ [SerializeField] Image[] rightImgs; [SerializeField] Image[] wrongImgs; [SerializeField] UIEffectPlayer[] pointEffects; [SerializeField] Button addBtn; float gridWidth = 0; float gridHeight = 0; @@ -40,6 +41,7 @@ DisplyRate(); buildResultBtn.AddListener(BuildLVUP); addBtn.AddListener(AddEnergy); var parentRect = girdsGo.GetComponent<RectTransform>(); @@ -302,4 +304,14 @@ } } } void AddEnergy() { ItemLogicUtility.Instance.ShowItemBatchUseWin(BeautyMMManager.Instance.addEnergyItemID, ShowTip); } string ShowTip(long useCnt) { return Language.Get("UseItem1", BeautyMMManager.Instance.addEnergyValue * useCnt); } } Main/System/ItemTip/BoxGetItemModel.cs
@@ -10,75 +10,22 @@ public class BoxGetItemModel : GameSystemManager<BoxGetItemModel> { List<string> commonShowAwardEvents = new List<string>(); //获取奖励的展示事件 public override void Init() { var config = FuncConfigConfig.Get("CommonShowAwards"); commonShowAwardEvents = JsonMapper.ToObject<List<string>>(config.Numerical1); } // void OnBeforePlayerDataInitialize() // { // getItems = null; // getCoinsType = 0; // getCoinsCnt = 0; // } #region 处理服务器数据 // public BoxGetItemInfo[] getItems { get; private set; } // public int getCoinsType { get; private set; } // public long getCoinsCnt { get; private set; } // public event Action<int, int, BoxGetItemInfo[]> RefreshGetItemAct; // public void SetGetBoxItemInfo(HA810_tagMCNotifyUseItemGetItem boxItemInfo) // { // getItems = JsonMapper.ToObject<BoxGetItemInfo[]>(boxItemInfo.GetItemData); // getCoinsType = boxItemInfo.MoneyType; // getCoinsCnt = boxItemInfo.MoneyCount; // if (!NewBieCenter.Instance.inGuiding) // { // List<Item> items = new List<Item>(); // for (int i = 0; i < getItems.Length; i++) // { // BoxGetItemInfo info = getItems[i]; // Dictionary<int, List<int>> useDataDic = ConfigParse.Analysis(info.UserData); // if (useDataDic != null && useDataDic.TryGetValue((int)ItemUseDataKey.itemCount, out List<int> list) && list != null && list.Count > 0) // { // int count = list[0]; // items.Add(new Item(info.ItemID, count)); // } // else // { // items.Add(new Item(info.ItemID, info.Count)); // } // } // ItemLogicUtility.Instance.ShowGetItem(items, seconds: 0); // } // if (RefreshGetItemAct != null) // { // RefreshGetItemAct((int)boxItemInfo.UseItemID, (int)boxItemInfo.UseCount, getItems); // } // } //获得奖励展示 public void ReceiveAwardNotify(HA801_tagMCGiveAwardInfo netPack) { var eventName = UIHelper.ServerStringTrim(netPack.EventName); // 仙盟攻城战 // if (eventName == "FamilyGCZSQGrid" || eventName == "FamilyGCZSQPass" || eventName == "FamilyGCZSQPassAll" || // eventName == "FamilyGCZContiribution" || eventName == "FamilyGCZAtk") // { // ModelCenter.Instance.GetModel<FairySiegeActModel>()?.OnUpdateAwardInfoAction(netPack); // return; // } // if (!commonShowAwardEvents.Contains(eventName)) // return; if (string.IsNullOrEmpty(eventName)) { Debug.Log("获得物品展示 无事件名"); @@ -132,173 +79,11 @@ ItemLogicUtility.Instance.ShowGetItem(showItems, eventName, isMergeItem:isMergeItem); } // public int GetUseCntByID(int itemId) // { // return PackManager.Instance.GetItemUsedTimesToday(itemId); // } #endregion // #region 消耗材料货币开启的宝箱 // public void SetModel(string guid, int itemId) // { // ChestsConfig chestsConfig = ChestsConfig.Get(itemId); // this.guid = guid; // this.itemId = itemId; // if (guid == "" || chestsConfig == null) return; // ItemConfig boxConfig = ItemConfig.Get(itemId); // if (PlayerDatas.Instance.baseData.LV < boxConfig.UseLV) // { // ServerTipDetails.DisplayNormalTip(Language.Get("MakeUseItem101", boxConfig.UseLV)); // return; // } // CheckOpenBoxCondi(guid, itemId); // } // public void CheckOpenBoxCondi(string guid, int itemId, int useCnt = 1) // { // ChestsConfig chestsConfig = ChestsConfig.Get(itemId); // if (chestsConfig == null) return; // ItemConfig boxConfig = ItemConfig.Get(itemId); // if (chestsConfig.ExpendItemID != 0) // { // ItemConfig itemConfig = ItemConfig.Get(chestsConfig.ExpendItemID); // ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("OpenBoxTool", itemConfig.ItemName), (bool isOk) => // { // if (isOk) // { // if (!IsEnoughTools(chestsConfig.ExpendItemID, chestsConfig.ExpendCount * useCnt)) // { // SysNotifyMgr.Instance.ShowTip("OpenBoxToolNoEnough", itemConfig.ItemName); // return; // } // else // { // CheckOpenMoney(chestsConfig, boxConfig, useCnt); // } // } // }); // } // else // { // CheckOpenMoney(chestsConfig, boxConfig, useCnt); // } // } // public void CheckOpenMoney(ChestsConfig chestsConfig, ItemConfig boxConfig, int useCnt) // { // if (!IsEnoughMoney(chestsConfig.OpenMoney * useCnt)) // { // SysNotifyMgr.Instance.ShowTip("BoxOpenCostMoney", 1); // return; // } // else // { // if (chestsConfig.OpenMoney > 0) // { // ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("OpenBoxGold", chestsConfig.OpenMoney * useCnt), (bool isOk) => // { // if (isOk) // { // CheckOtherCondi(chestsConfig, boxConfig, useCnt); // } // }); // } // else // { // CheckOtherCondi(chestsConfig, boxConfig, useCnt); // } // } // } // public void CheckOtherCondi(ChestsConfig chestsConfig, ItemConfig boxConfig, int useCnt) // { // if (boxConfig.MaxSkillCnt > 0 && GetUseCntByID(itemId) >= boxConfig.MaxSkillCnt) // { // SysNotifyMgr.Instance.ShowTip("UseCntLimit"); // return; // } // if (IsSelectItemByID(itemId)) // { // UIManager.Instance.OpenWindow<ChooseItemsWin>(); // return; // } // ItemLogicUtility.Instance.UseItem(guid, useCnt); // } // public bool CheckOpenBoxCondition(int itemId, out bool isBox) // { // isBox = false; // ChestsConfig chestsConfig = ChestsConfig.Get(itemId); // if (chestsConfig == null) return false; // isBox = true; // bool isCanOpen = true; // ItemConfig boxConfig = ItemConfig.Get(itemId); // if (PlayerDatas.Instance.baseData.LV < boxConfig.UseLV) // { // isCanOpen = false; // return isCanOpen; // } // if (chestsConfig.ExpendItemID != 0) // { // ItemConfig itemConfig = ItemConfig.Get(chestsConfig.ExpendItemID); // if (!IsEnoughTools(chestsConfig.ExpendItemID, chestsConfig.ExpendCount)) // { // isCanOpen = false; // return isCanOpen; // } // } // if (!IsEnoughMoney(chestsConfig.OpenMoney)) // { // isCanOpen = false; // return isCanOpen; // } // if (boxConfig.MaxSkillCnt > 0 && GetUseCntByID(itemId) >= boxConfig.MaxSkillCnt) // { // isCanOpen = false; // return isCanOpen; // } // return isCanOpen; // } // private bool IsEnoughMoney(int moneyCnt) // { // ulong haveMoney = UIHelper.GetMoneyCnt(1); // if (haveMoney >= (ulong)moneyCnt) // { // return true; // } // else // { // return false; // } // } // private bool IsEnoughTools(int itemId, int toolCnt) // { // int count = PackManager.Instance.GetItemCountByID(PackType.Item, itemId); // if (count >= toolCnt) // { // return true; // } // else // { // return false; // } // } // #endregion //宝箱预览物品 (随机获得) public List<Item> GetBoxItems(int boxID) @@ -535,14 +320,6 @@ } public class BoxGetItemInfo { public int ItemID; public int Count; public int IsBind; public int IsSuite; public string UserData; } public class ChooseItems { Main/System/ItemTip/ItemBatchUseWin.cs
New file @@ -0,0 +1,135 @@ using System; using UnityEngine; using UnityEngine.UI; //批量使用物品 public class ItemBatchUseWin : UIBase { [SerializeField] ItemCell itemCell; [SerializeField] Text itemCntTxt; [SerializeField] LongPressButton subBtn; [SerializeField] LongPressButton addBtn; [SerializeField] Text tipText; [SerializeField] Button okBtn; [SerializeField] Text titleText; public static Func<long, string> ShowTextEvent; public static int itemID; long curUseCount; long maxCount; protected override void InitComponent() { addBtn.SetListener(OnClickPlus); addBtn.onPress.AddListener(OnClickPlus); subBtn.SetListener(OnClickReduce); subBtn.onPress.AddListener(OnClickReduce); okBtn.AddListener(OnOK); } protected override void OnPreOpen() { var key = "UseItemTitle_" + itemID; if (LanguageConfig.HasKey(key)) { titleText.text = Language.Get(key); } else { titleText.text = Language.Get("UseItemDefault"); } maxCount = PackManager.Instance.GetItemCountByID(PackType.Item, itemID); curUseCount = maxCount > 0 ? 1 : 0; itemCell.Init(new ItemCellModel(itemID, false, curUseCount)); itemCell.button.AddListener(() => { ItemTipUtility.Show(itemID); }); RefreshCount(); RefreshBtn(); } protected override void OnPreClose() { } void RefreshCount() { itemCntTxt.text = curUseCount + "/" + maxCount; itemCell.countText.text = curUseCount.ToString(); if (ShowTextEvent != null) { tipText.text = ShowTextEvent(curUseCount); } else { tipText.text = ""; } } void RefreshBtn() { if (curUseCount >= maxCount) { addBtn.interactable = false; addBtn.SetColorful(null, false); } else { addBtn.interactable = true; addBtn.SetColorful(null, true); } if (curUseCount == 0) { subBtn.interactable = false; subBtn.SetColorful(null, false); } else { subBtn.interactable = true; subBtn.SetColorful(null, true); } } void OnClickPlus() { if (curUseCount >= maxCount) { curUseCount = maxCount; return; } curUseCount++; RefreshCount(); RefreshBtn(); } void OnClickReduce() { if (curUseCount == 0) return; curUseCount--; RefreshCount(); RefreshBtn(); } void OnOK() { CloseWindow(); if (ItemLogicUtility.CheckItemCount(PackType.Item, itemID, curUseCount, 2)) { ItemLogicUtility.Instance.UseItem(PackManager.Instance.GetItemGUIDByID(itemID)); } } } Main/System/ItemTip/ItemBatchUseWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 1d6f17e975427324cb877df073020301 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/ItemTip/ItemTipUtility.cs
@@ -46,15 +46,11 @@ public bool isEquiped; public bool isPreview; public int star; public int strengthenLevel; public int score; public bool isOverdue; public int auctionSurplusTime; public int overdueSurplusTime; public int levelLimit; public int moneyLimit; public int evolveLevel; } public struct BaseProperty @@ -64,78 +60,14 @@ public List<Int2> starProperties; } public struct SpiritWeaponProperty { public int itemId; public List<Int3> properties; } public struct LegendProperty { public bool isPreview; public int itemId; public int trueCount; public List<Int2> properties; public int score; } //神装属性 public struct ShenProperty { public bool isPreview; public int itemId; public List<Int3> properties; } public struct SuitInfo { public int job; public string name; public int level; public int maxSuitLevel; public List<int> places; public Dictionary<int, int> placeStars; // public Dictionary<int, EquipSuitPropertyEntry> twoSuitProperties; // public Dictionary<int, EquipSuitPropertyEntry> fiveSuitProperties; public Dictionary<int, bool> eightSuits; } public struct StarInfo { public Int2 equipPosition; public int starLevel; public int maxLevel; } public struct StrengthenProperty { public int strengthenLevel; public List<Int2> properties; public int evolveLevel; public int equipPlace; } public struct GemInfo { public Dictionary<int, bool> activeStates; public Dictionary<int, int> gems; } public struct TrainProperty { public int level; public List<Int2> properties; } public struct SkillInfo { public List<int> skills; } public struct WingRefineMaterials { public List<Int2> materials; } public struct GetWay { @@ -144,75 +76,16 @@ public List<int> ways; } public struct CustomEquipInfo { public int job; public int itemId; public int score; public bool isEquiped; public List<Int2> legendProperties; public List<int> suitPlaces; public Dictionary<int, int> placeStars; // public Dictionary<EquipSuitType, int> suitLevels; public int strengthenLevel; public int starLevel; public List<Int2> trainProperties; public Dictionary<int, bool> gemHoleActiveStates; public Dictionary<int, int> gems; public List<int> equipSkillList; public int evolveLevel; } public struct CustomItemPlus { public int ItemID; public int count; public int Equipped; public int Preview; public int Star; public int PlusLV; public int EvolveLV; public string UserData; public int[] Stone; public CustomEquipWash Wash; public int[][] Equips; public int[] suitPlaces; public int[] suitLevels; public int[] placeStars; } public struct CustomEquipWash { public int LV; public int[] Value; } public struct ItemViewInfo { public int itemId; public bool compare; public bool unfoldGetWay; public bool isAuctionEquip; public LegendProperty legendProperty; public int score; public int appointID; //定制装备 } // 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>(); } } // static EquipStrengthModel strengthenModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } } // static MountModel mountModel { get { return ModelCenter.Instance.GetModel<MountModel>(); } } // static PetModel petModel { get { return ModelCenter.Instance.GetModel<PetModel>(); } } // static ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } } // static StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } } // static VirtualPackModel virtualPackModel { get { return ModelCenter.Instance.GetModel<VirtualPackModel>(); } } // static ItemOverdueModel itemOverdueModel { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } } // static BoxGetItemModel boxGetItemModel { get { return ModelCenter.Instance.GetModel<BoxGetItemModel>(); } } public static TipData mainTipData { get; private set; } // 注意当递进点击打开多个tip界面会变更数据,不能依赖此值 public static TipData secondaryData { get; private set; } @@ -395,304 +268,6 @@ } // public static void ShowCustomEquip(CustomEquipInfo info) // { // secondaryData = null; // mainTipData = CreateCustomEquipData(info); // WindowCenter.Instance.Open<EquipTipWin>(); // } // static TipData CreateNormalEquipData(string guid) // { // var item = PackManager.Instance.GetItemByGuid(guid); // if (item == null) // { // return default(TipData); // } // return new TipData() // { // itemId = item.itemId, // guid = guid, // baseInfo = GetBaseInfo(guid), // baseProperty = GetBaseProperty(guid), // spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), // legendProperty = GetLegendProperty(guid), // skillInfo = GetSkillInfo(item.itemId, guid), // suitInfo = GetSuitInfo(guid), // starInfo = GetStarInfo(guid), // strengthenProperty = GetStrengthenProperty(guid), // gemInfo = GetGemInfo(guid), // trainProperty = GetTrainProperty(guid), // operates = operatable ? GetOperates(guid) : null, // shenProperty = GetShenProperty(item.itemId) // }; // } // static TipData CreateNormalEquipData(int itemId) // { // return new TipData() // { // itemId = itemId, // guid = string.Empty, // baseInfo = GetBaseInfo(itemId), // baseProperty = GetBaseProperty(itemId), // legendProperty = GetLegendProperty(itemId), // spiritWeaponProperty = GetSpiritWeaponProperty(itemId), // skillInfo = GetSkillInfo(itemId), // suitInfo = GetSuitInfo(itemId), // gemInfo = GetGemInfo(itemId), // starInfo = GetStarInfo(itemId), // getWay = GetGetWay(itemId), // shenProperty = GetShenProperty(itemId) // }; // } // static TipData CreateDogzEquipData(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(TipData); // } // return new TipData() // { // itemId = item.itemId, // guid = guid, // baseInfo = GetBaseInfo(guid), // baseProperty = GetBaseProperty(guid), // legendProperty = GetLegendProperty(guid), // operates = GetOperates(guid), // }; // } // static TipData CreateDogzEquipData(int itemId) // { // return new TipData() // { // itemId = itemId, // guid = string.Empty, // baseInfo = GetBaseInfo(itemId), // baseProperty = GetBaseProperty(itemId), // legendProperty = GetLegendProperty(itemId), // getWay = GetGetWay(itemId) // }; // } // static TipData CreateCustomEquipData(CustomEquipInfo info) // { // var config = ItemConfig.Get(info.itemId); // if (config == null) // { // return default(TipData); // } // var baseInfo = new BaseInfo() // { // itemId = info.itemId, // star = info.starLevel, // strengthenLevel = info.strengthenLevel, // score = info.score, // isEquiped = info.isEquiped, // evolveLevel = info.evolveLevel, // }; // var baseProperty = GetBaseProperty(info.itemId); // if (info.starLevel > 0) // { // var starProperties = new List<Int2>(); // baseProperty.star = info.starLevel; // var starConfig = EquipStarConfig.Get(config.LV, config.EquipPlace, info.starLevel); // starProperties.AddRange(starConfig.BaseAttrInfo); // baseProperty.starProperties = starProperties; // } // var legendProperty = new LegendProperty() // { // properties = info.legendProperties, // }; // var skillInfo = GetSkillInfo(info.itemId, info); // var suitInfo = default(SuitInfo); // if (ItemLogicUtility.Instance.IsSuitEquip(info.itemId)) // { // var job = config.JobLimit; // var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); // var name = twoConfigs[0].name; // var level = config.LV; // var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level); // var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); // var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); // var eightSuits = new Dictionary<int, bool>(); // var eightSuitLevel = info.suitLevels[EquipSuitType.EightSuit]; // for (var i = 0; i <= 9; i++, i++, i++) // { // var configs = EquipSuitConfig.GetConfigs(job, level, EquipSuitType.TwoSuit); // var actived = info.suitLevels[EquipSuitType.TwoSuit] >= i; // var properties = new List<Int2>(); // foreach (var item in configs) // { // if (item.star == i) // { // properties.AddRange(item.attr); // break; // } // } // twoSuitProperties[i] = new EquipSuitPropertyEntry() // { // type = EquipSuitType.TwoSuit, // actived = actived, // properties = properties, // }; // configs = EquipSuitConfig.GetConfigs(job, level, EquipSuitType.FiveSuit); // actived = info.suitLevels[EquipSuitType.FiveSuit] >= i; // properties = new List<Int2>(); // foreach (var item in configs) // { // if (item.star == i) // { // properties.AddRange(item.attr); // break; // } // } // fiveSuitProperties[i] = new EquipSuitPropertyEntry() // { // type = EquipSuitType.TwoSuit, // actived = actived, // properties = properties, // }; // eightSuits[i] = eightSuitLevel >= i; // } // suitInfo = new SuitInfo() // { // name = name, // level = level, // job = job, // maxSuitLevel = maxSuitLevel, // places = info.suitPlaces, // placeStars = info.placeStars, // twoSuitProperties = twoSuitProperties, // fiveSuitProperties = fiveSuitProperties, // eightSuits = eightSuits // }; // } // var starInfo = new StarInfo() // { // equipPosition = new Int2(config.LV, config.EquipPlace), // starLevel = info.starLevel, // maxLevel = config.LV == 0 ? 0 : EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV), // }; // var type = EquipStrengthModel.GetEquipStrengthType(config.EquipPlace); // var strengthenConfig = ItemPlusConfig.GetTypeAndLevel(type, info.strengthenLevel); // var strengthenProperties = new List<Int2>(); // for (int i = 0; i < strengthenConfig.attType.Length; i++) // { // strengthenProperties.Add(new Int2(strengthenConfig.attType[i], strengthenConfig.attValue[i])); // } // var strengthenProperty = new StrengthenProperty() // { // strengthenLevel = info.strengthenLevel, // properties = strengthenProperties, // equipPlace = config.EquipPlace, // evolveLevel = info.evolveLevel, // }; // var gemInfo = new GemInfo() // { // activeStates = info.gemHoleActiveStates, // gems = info.gems, // }; // var trainProperty = new TrainProperty() // { // properties = info.trainProperties, // }; // return new TipData() // { // itemId = info.itemId, // baseInfo = baseInfo, // baseProperty = baseProperty, // legendProperty = legendProperty, // skillInfo = skillInfo, // suitInfo = suitInfo, // starInfo = starInfo, // strengthenProperty = strengthenProperty, // gemInfo = gemInfo, // trainProperty = trainProperty, // shenProperty = GetShenProperty(info.itemId) // }; // } static TipData CreateGoodEquipData(int itemId, int goodId) { return new TipData() { itemId = itemId, guid = string.Empty, goodId = goodId, baseInfo = GetBaseInfo(itemId), baseProperty = GetBaseProperty(itemId), //spiritWeaponProperty = GetSpiritWeaponProperty(itemId), //legendProperty = GetLegendProperty(itemId), skillInfo = GetSkillInfo(itemId), //suitInfo = GetSuitInfo(itemId), //gemInfo = GetGemInfo(itemId), //starInfo = GetStarInfo(itemId), // operates = GetGoodOperates(goodId), //shenProperty = GetShenProperty(itemId) }; } // static TipData CreateEquipAuctionData(string guid, bool operatable) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(TipData); // } // var legendProperty = GetLegendProperty(guid); // if (legendProperty.properties.IsNullOrEmpty()) // { // legendProperty = GetLegendProperty(item.itemId); // } // return new TipData() // { // itemId = item.itemId, // guid = guid, // baseInfo = GetBaseInfo(guid), // baseProperty = GetBaseProperty(item.itemId), // spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), // legendProperty = legendProperty, // skillInfo = GetSkillInfo(item.itemId, guid), // suitInfo = GetSuitInfo(item.itemId), // operates = operatable ? GetOperates(guid) : null, // starInfo = GetStarInfo(guid), // gemInfo = GetGemInfo(guid), // shenProperty = GetShenProperty(item.itemId) // }; // } static TipData CreateItemData(string guid) { @@ -709,12 +284,6 @@ baseInfo = GetBaseInfo(guid), baseProperty = GetBaseProperty(item.itemId), // spiritWeaponProperty = GetSpiritWeaponProperty(item.itemId), // legendProperty = GetLegendProperty(guid), // petMountBaseProperty = GetPetMountBaseProperty(item.itemId), // operates = operatable ? GetOperates(guid) : null, // refineMaterials = GetWingRefineMaterials(guid), // shenProperty = GetShenProperty(item.itemId) }; } @@ -724,113 +293,10 @@ { itemId = itemId, baseInfo = GetBaseInfo(itemId), // baseProperty = GetBaseProperty(itemId), exchangeItemId = itemId, // spiritWeaponProperty = GetSpiritWeaponProperty(itemId), // legendProperty = GetLegendProperty(itemId), // petMountBaseProperty = GetPetMountBaseProperty(itemId), // getWay = GetGetWay(itemId), // shenProperty = GetShenProperty(itemId) }; } static TipData CreateGoodItemData(int itemId, int goodId) { return new TipData() { itemId = itemId, goodId = goodId, baseInfo = GetBaseInfo(itemId), baseProperty = GetBaseProperty(itemId), // legendProperty = GetLegendProperty(itemId), // spiritWeaponProperty = GetSpiritWeaponProperty(itemId), // petMountBaseProperty = GetPetMountBaseProperty(itemId), // operates = GetGoodOperates(goodId), // shenProperty = GetShenProperty(itemId) }; } // public static void Operate(ItemOperateType type, string guid) // { // switch (type) // { // case ItemOperateType.putOn: // ItemOperateUtility.Instance.PutOnItem(guid); // break; // case ItemOperateType.gotoPuton: // ItemOperateUtility.Instance.PutOnItem(guid); // break; // case ItemOperateType.putOff: // ItemOperateUtility.Instance.PutOffEquip(guid); // break; // case ItemOperateType.putAway: // ItemOperateUtility.Instance.PutAway(guid); // break; // case ItemOperateType.putIn: // ItemOperateUtility.Instance.PutInWareHouse(guid); // break; // case ItemOperateType.putOut: // ItemOperateUtility.Instance.TakeOutFromWarehouse(guid); // break; // case ItemOperateType.sell: // ItemOperateUtility.Instance.SellItem(guid); // break; // case ItemOperateType.strength: // ItemOperateUtility.Instance.GotoStrengthen(guid); // break; // case ItemOperateType.star: // ItemOperateUtility.Instance.GotoStarUpgrade(guid); // break; // case ItemOperateType.inlay: // ItemOperateUtility.Instance.GotoInlayItem(guid); // break; // case ItemOperateType.train: // ItemOperateUtility.Instance.GotoTrain(guid); // break; // case ItemOperateType.makeUse: // ItemOperateUtility.Instance.GotoUseItem(guid); // break; // case ItemOperateType.split: // ItemOperateUtility.Instance.OnClickSplitBtn(guid); // break; // case ItemOperateType.compose: // var wannaComposeItem = packModel.GetItemByGuid(guid); // var jumpId = 0; // var isUnlock = composeModel.CheckComposeItemById(wannaComposeItem.itemId, out jumpId); // if (isUnlock) // { // ItemOperateUtility.Instance.GotoComposeItem(jumpId); // } // break; // case ItemOperateType.renewal: // ItemOperateUtility.Instance.RenewalItem(guid); // break; // case ItemOperateType.exchange: // WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ExchangeActiveToken); // break; // case ItemOperateType.lsExchange: // WindowCenter.Instance.Open<LingShiChange>(); // break; // case ItemOperateType.default1: // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // break; // } // EquipEvolveModel.Instance.EquipJump(item.config.LV, item.config.EquipPlace); // WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)2013); // break; // } // } // public static void GoodOperate(ItemOperateType type, int goodId, int count) // { // var config = StoreConfig.Get(goodId); // storeModel.SendBuyShopItem(config, count); // } private static BaseInfo GetBaseInfo(int itemId) @@ -849,7 +315,6 @@ isAuction = false, isEquiped = false, isPreview = true, //score = ItemLogicUtility.Instance.GetEquipScore(itemId, null, true), auctionSurplusTime = 0, levelLimit = config.UseLV, moneyLimit = money, @@ -861,23 +326,8 @@ private static BaseInfo GetBaseInfo(string guid) { var item = PackManager.Instance.GetItemByGuid(guid); var level = item.config.LV; var place = item.config.EquipPlace; var isEquiped = false;// equipModel.GetEquip(new Int2(level, place)) == guid; // var type = EquipStrengthModel.GetEquipStrengthType(place); var star = 0; //starModel.GetEquipStarLevel(new Int2(level, place)); var maxStrengthenLevel = 0; //strengthenModel.GetEquipLevelMax(type, level); var placeStrengthenLevel = 0; //strengthenModel.GetStrengthLevel(level, place); var money = 0; // if (item.config.Type == 81) // { // var chestConfig = ChestsConfig.Get(item.itemId); // money = chestConfig.OpenMoney; // } var baseInfo = new BaseInfo() { @@ -890,8 +340,6 @@ auctionSurplusTime = item.isAuction ? item.auctionSurplusTime : 0, overdueSurplusTime = item.overdueSurplusTime, levelLimit = item.isAuction ? 0 : item.config.UseLV, star = isEquiped ? star : -1, strengthenLevel = isEquiped ? Mathf.Min(placeStrengthenLevel, maxStrengthenLevel) : 0, moneyLimit = money, }; @@ -908,13 +356,6 @@ return GetBaseProperty(config.EffectValueA1); } if (!ItemLogicUtility.Instance.IsDogzEquip(itemId)) { if (config.Effect1 != 0) { baseProperties.Add(new Int2(config.Effect1, config.EffectValueA1)); } } if (config.Effect2 != 0) { @@ -955,651 +396,11 @@ if (equiped) { var starProperties = new List<Int2>(); // var currentStar = starModel.GetEquipStarLevel(equipPosition); // var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); // var star = Mathf.Min(currentStar, maxStar); // if (star > 0) // { // baseProperty.star = star; // var starConfig = EquipStarConfig.Get(item.config.LV, item.config.EquipPlace, star); // starProperties.AddRange(starConfig.BaseAttrInfo); // } baseProperty.starProperties = starProperties; } return baseProperty; } // private static BaseProperty GetPetMountBaseProperty(int itemId) // { // var config = ItemConfig.Get(itemId); // var baseProperty = new BaseProperty(); // Dictionary<int, int> properties = null; // switch (config.Type) // { // case 26: // var petId = PetInfoConfig.GetItemUnLockPet(itemId); // properties = petModel.GetPetAttrAddDict(petId); // break; // case 41: // case 42: // var horseId = HorseConfig.GetItemUnLockHorse(itemId); // properties = mountModel.GetMountAttrAddDict(horseId); // break; // default: // break; // } // if (properties != null) // { // baseProperty.baseProperties = new List<Int2>(); // foreach (var property in properties) // { // baseProperty.baseProperties.Add(new Int2(property.Key, property.Value)); // } // } // return baseProperty; // } // //神装属性 // private static ShenProperty GetShenProperty(int itemId) // { // var data = new ShenProperty(); // data.isPreview = true; // data.itemId = itemId; // var config = ItemConfig.Get(itemId); // data.properties = ShenPropertyUtility.GetEquipShenProperties(itemId); // return data; // } // private static LegendProperty GetLegendProperty(int itemId) // { // var data = new LegendProperty(); // data.isPreview = true; // data.itemId = itemId; // var config = ItemConfig.Get(itemId); // if (config.Effect1 == 220) // { // data.isPreview = false; // var appConfig = AppointItemConfig.Get(itemId); // data.trueCount = 0; // data.properties = new List<Int2>(); // for (var i = 0; i < appConfig.LegendAttrID.Length; i++) // { // data.properties.Add(new Int2(appConfig.LegendAttrID[i], appConfig.LegendAttrValue[i])); // } // } // else // { // data.properties = LegendPropertyUtility.GetLegendProFromEquipShen(itemId); // if (data.properties != null) // { // data.trueCount = 0; // data.isPreview = false; // } // else // { // data.trueCount = LegendPropertyUtility.GetEquipPropertyCount(itemId); // data.properties = LegendPropertyUtility.GetEquipProperties(itemId); // } // } // return data; // } // private static SpiritWeaponProperty GetSpiritWeaponProperty(int itemId) // { // var config = SpiritWeaponConfig.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.itemId = itemId; // spiritWeaponProperty.properties = properties; // return spiritWeaponProperty; // } // private static LegendProperty GetLegendProperty(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(LegendProperty); // } // var data = new LegendProperty(); // data.isPreview = false; // data.itemId = item.itemId; // var ids = item.GetUseData((int)ItemUseDataKey.legendAttrID); // var values = item.GetUseData((int)ItemUseDataKey.legendAttrValue); // if (!ids.IsNullOrEmpty() && !values.IsNullOrEmpty()) // { // var properties = new List<Int2>(); // var count = Mathf.Min(ids.Count, values.Count); // for (int i = 0; i < count; i++) // { // properties.Add(new Int2(ids[i], values[i])); // } // data.properties = properties; // } // return data; // } public static LegendProperty GetLegendProperty(int itemId, Dictionary<int, List<int>> userData) { var data = new LegendProperty(); data.isPreview = false; data.itemId = itemId; List<int> ids = null; List<int> values = null; if (userData != null) { userData.TryGetValue((int)ItemUseDataKey.legendAttrID, out ids); userData.TryGetValue((int)ItemUseDataKey.legendAttrValue, out values); } if (!ids.IsNullOrEmpty() && !values.IsNullOrEmpty()) { var properties = new List<Int2>(); var count = Mathf.Min(ids.Count, values.Count); for (int i = 0; i < count; i++) { properties.Add(new Int2(ids[i], values[i])); } data.properties = properties; } return data; } // public static SuitInfo GetSuitInfo(int itemId) // { // var config = ItemConfig.Get(itemId); // if (config == null || config.SuiteiD <= 0) // { // return default(SuitInfo); // } // var job = config.JobLimit; // var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); // var name = twoConfigs[0].name; // var level = config.LV; // var places = new List<int>(); // places.Add(config.EquipPlace); // //var suitInfo = new SuitInfo() // //{ // // name = name, // // level = level, // // job = job, // // places = places, // //}; // var maxSuitLevel = EquipStarModel.GetMaxStarLevel(level); // var placeStars = new Dictionary<int, int>(); // for (int i = 1; i <= 8; i++) // { // var equip = packModel.GetItemByGuid(equipModel.GetEquip(new Int2(level, i))); // var hasSuit = equip != null && equip.config.SuiteiD > 0; // if (hasSuit) // { // placeStars[i] = starModel.GetEquipStarLevel(new Int2(level, 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); // var twoSuitProperties0 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit); // var fiveSuitProperties0 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit); // twoSuitProperties[0] = twoSuitProperties0; // fiveSuitProperties[0] = fiveSuitProperties0; // 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, // job = job, // maxSuitLevel = maxSuitLevel, // places = places, // placeStars = placeStars, // twoSuitProperties = twoSuitProperties, // fiveSuitProperties = fiveSuitProperties, // eightSuits = eightSuits // }; // return suitInfo; // } // private static SuitInfo GetSuitInfo(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(SuitInfo); // } // var config = ItemConfig.Get(item.itemId); // if (config == null || config.SuiteiD <= 0) // { // return default(SuitInfo); // } // var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); // var equiped = equipModel.GetEquip(equipPosition) == guid; // var job = config.JobLimit; // var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit); // var name = twoConfigs[0].name; // var level = config.LV; // var maxSuitLevel = equiped ? EquipStarModel.GetMaxStarLevel(level) : -1; // var places = new List<int>(); // var placeStars = new Dictionary<int, int>(); // if (equiped) // { // for (int i = 1; i <= 8; i++) // { // var equip = packModel.GetItemByGuid(equipModel.GetEquip(new Int2(level, i))); // var hasSuit = equip != null && equip.config.SuiteiD > 0; // if (hasSuit) // { // places.Add(i); // placeStars[i] = starModel.GetEquipStarLevel(new Int2(level, i)); // } // } // } // var twoSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); // var fiveSuitProperties = new Dictionary<int, EquipSuitPropertyEntry>(); // var eightSuits = new Dictionary<int, bool>(); // var eightSuitLevel = equiped ? equipModel.GetSuitLevel(config.LV, EquipSuitType.EightSuit) : -1; // if (!equiped) // { // var suit2 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.TwoSuit); // suit2.actived = false; // var suit5 = equipModel.GetEquipSuitEntry(config.LV, 0, EquipSuitType.FiveSuit); // suit5.actived = false; // twoSuitProperties[0] = suit2; // fiveSuitProperties[0] = suit5; // eightSuits[0] = eightSuitLevel >= 0; // } // else // { // foreach (var star in EquipStarModel.StarList) // { // if (maxSuitLevel >= star) // { // twoSuitProperties[star] = equipModel.GetEquipSuitEntry(config.LV, star, EquipSuitType.TwoSuit); // fiveSuitProperties[star] = equipModel.GetEquipSuitEntry(config.LV, star, EquipSuitType.FiveSuit); // eightSuits[star] = eightSuitLevel >= star; // } // } // } // var suitInfo = new SuitInfo() // { // name = name, // level = level, // job = job, // maxSuitLevel = maxSuitLevel, // places = places, // placeStars = placeStars, // twoSuitProperties = twoSuitProperties, // fiveSuitProperties = fiveSuitProperties, // eightSuits = eightSuits // }; // return suitInfo; // } // private static StarInfo GetStarInfo(int itemId) // { // var config = ItemConfig.Get(itemId); // if (!EquipModel.IsRealmEquip(config.EquipPlace)) // { // return default(StarInfo); // } // var starInfo = new StarInfo(); // starInfo.equipPosition = new Int2(config.LV, config.EquipPlace); // starInfo.maxLevel = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV); // starInfo.starLevel = 0; // return starInfo; // } // private static StarInfo GetStarInfo(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(StarInfo); // } // if (!EquipModel.IsRealmEquip(item.config.EquipPlace)) // { // return default(StarInfo); // } // var starInfo = new StarInfo(); // var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); // var equiped = equipModel.GetEquip(equipPosition) == guid; // starInfo.equipPosition = equipPosition; // starInfo.maxLevel = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); // starInfo.starLevel = equiped ? starModel.GetStarLevel(equipPosition) : 0; // return starInfo; // } // private static StrengthenProperty GetStrengthenProperty(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(StrengthenProperty); // } // var level = item.config.LV; // var place = item.config.EquipPlace; // var equiped = equipModel.GetEquip(new Int2(level, place)) == guid; // if (!equiped) // { // return default(StrengthenProperty); // } // var data = new StrengthenProperty(); // var strengthenLevel = strengthenModel.GetStrengthLevel(level, place); // var type = EquipStrengthModel.GetEquipStrengthType(place); // var maxStrengthenLevel = strengthenModel.GetEquipLevelMax(type, level); // data.strengthenLevel = Mathf.Min(strengthenLevel, maxStrengthenLevel); // data.evolveLevel = strengthenModel.GetStrengthEvolveLevel(level, place); // data.equipPlace = place; // data.properties = new List<Int2>(); // var config = ItemPlusConfig.GetTypeAndLevel(type, data.strengthenLevel); // for (int i = 0; i < config.attType.Length; i++) // { // data.properties.Add(new Int2(config.attType[i], config.attValue[i])); // } // return data; // } // private static GemInfo GetGemInfo(int itemId) // { // var config = ItemConfig.Get(itemId); // var level = config.LV; // var place = config.EquipPlace; // var gemInfo = new GemInfo(); // var maxStar = EquipStarModel.GetMaxStarLevel(config.ItemColor, config.LV); // gemInfo.activeStates = new Dictionary<int, bool>(); // for (int i = 0; i < 4; i++) // { // gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), maxStar, i); // } // return gemInfo; // } // private static GemInfo GetGemInfo(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(GemInfo); // } // var level = item.config.LV; // var place = item.config.EquipPlace; // var gemInfo = new GemInfo(); // var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV); // gemInfo.activeStates = new Dictionary<int, bool>(); // for (int i = 0; i < 4; i++) // { // gemInfo.activeStates[i] = IsEquipGemHoleOpen(new Int2(level, place), maxStar, i); // } // gemInfo.gems = new Dictionary<int, int>(); // if (item.packType == PackType.Equip) // { // int[] gems; // if (gemModel.TryGetEquipGems(item.config.LV, item.config.EquipPlace, out gems)) // { // for (int i = 0; i < gems.Length; i++) // { // gemInfo.gems[i] = gems[i]; // } // } // } // return gemInfo; // } // private static TrainProperty GetTrainProperty(string guid) // { // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return default(TrainProperty); // } // var equipPosition = new Int2(item.config.LV, item.config.EquipPlace); // var equiped = equipModel.GetEquip(equipPosition) == guid; // if (!equiped) // { // return default(TrainProperty); // } // var trainProperty = new TrainProperty(); // var star = Mathf.Min(EquipStarModel.GetMaxStarLevel(item.config.ItemColor, item.config.LV), starModel.GetEquipStarLevel(equipPosition)); // var type = EquipTrainModel.GetTrainType(equipPosition.y); // var maxConfig = WashLevelMaxConfig.Get(type, star); // var maxLevel = maxConfig == null ? 1 : maxConfig.levelMax; // var trainLevel = Mathf.Min(maxLevel, trainModel.GetTrainLevel(equipPosition)); // trainProperty.level = trainLevel; // var trainConfig = EquipWashConfig.Get(type, trainLevel); // trainProperty.properties = new List<Int2>(); // if (trainConfig == null) // { // var trainConfigLevel1 = EquipWashConfig.Get(type, 1); // trainProperty.properties.Add(new Int2(trainConfigLevel1.config.attType1, 0)); // trainProperty.properties.Add(new Int2(trainConfigLevel1.config.attType2, 0)); // //trainProperty.properties.Add(new Int2(trainConfigLevel1.config.attType3, 0)); // } // else // { // var trainedProperties = trainModel.GetTrainedProperties(equipPosition); // trainProperty.properties.Add(new Int2(trainConfig.config.attType1, Mathf.Min(trainedProperties.x, trainConfig.config.attMax1))); // trainProperty.properties.Add(new Int2(trainConfig.config.attType2, Mathf.Min(trainedProperties.y, trainConfig.config.attMax2))); // //trainProperty.properties.Add(new Int2(trainConfig.config.attType3, Mathf.Min(trainedProperties.z, trainConfig.config.attMax3))); // } // return trainProperty; // } private static SkillInfo GetSkillInfo(int itemId) { var config = ItemConfig.Get(itemId); if (config == null) { return default(SkillInfo); } var skillInfo = new SkillInfo(); skillInfo.skills = new List<int>(); if (config.AddSkill1 != 0) { skillInfo.skills.Add(config.AddSkill1); } if (config.AddSkill2 != 0) { skillInfo.skills.Add(config.AddSkill2); } return skillInfo; } private static SkillInfo GetSkillInfo(int itemId, CustomEquipInfo info) { var skillInfo = new SkillInfo(); skillInfo.skills = new List<int>(); if (!info.equipSkillList.IsNullOrEmpty()) { skillInfo.skills = info.equipSkillList; } else { return GetSkillInfo(itemId); } return skillInfo; } // private static SkillInfo GetSkillInfo(int itemId, string guid) // { // var skillInfo = new SkillInfo(); // skillInfo.skills = new List<int>(); // var item = packModel.GetItemByGuid(guid); // if (item == null) // { // return GetSkillInfo(itemId); // } // var values = item.GetUseData((int)ItemUseDataKey.equipSkills); // if (!values.IsNullOrEmpty()) // { // skillInfo.skills = values; // } // else // { // return GetSkillInfo(itemId); // } // return skillInfo; // } // private static GetWay GetGetWay(int itemId) // { // var config = ItemConfig.Get(itemId); // if (config == null) // { // return default(GetWay); // } // var getWay = new GetWay(); // getWay.itemId = itemId; // getWay.ways = new List<int>(); // foreach (var way in config.GetWay) // { // var wayConfig = GetItemWaysConfig.Get(way); // if (wayConfig.FuncOpenId == 0 || FuncOpen.Instance.IsFuncOpen(wayConfig.FuncOpenId)) // { // int activityType = 0; // 活动模板 参考OpenServerActivityCenter.ActivityType // if (wayConfig.customize == 2) // { // activityType = (int)OpenServerActivityCenter.ActivityType.AT_JRZF; // } // else if (wayConfig.customize == 3) // { // activityType = (int)OpenServerActivityCenter.ActivityType.AT_HFHD; // } // if (wayConfig.ActiveType == -1 || OpenServerActivityCenter.Instance.IsActivityOpen(wayConfig.ActiveType, activityType)) // { // getWay.ways.Add(way); // } // } // } // return getWay; // } // private static bool IsEquipGemHoleOpen(Int2 equipPosition, int maxStar, int hole) // { // GemHoleCondition condition; // if (gemModel.TryGetGemHoleCondition(hole, out condition)) // { // var star = starModel.GetStarLevel(equipPosition); // if (Mathf.Min(star, maxStar) < condition.equipStar) // { // return false; // } // var vipLevel = PlayerDatas.Instance.baseData.VIPLv; // if (vipLevel < condition.vipLevel) // { // return false; // } // } // return true; // } private static TipType GetTipType(int itemId) { @@ -1630,8 +431,6 @@ case 111: case 112: return TipType.Equip; // case 42: // return TipType.PetMount; case 147: return TipType.TreasurePavilion; case 150: Main/System/KnapSack/Logic/ItemLogicUtility.cs
@@ -7,260 +7,8 @@ public class ItemLogicUtility : Singleton<ItemLogicUtility> { // private string normalGSFormula; // private List<int> equipBaseProperties = new List<int>(); // Dictionary<int, int> equipSkillScores = new Dictionary<int, int>(); PackManager packModel { get { return PackManager.Instance; } } // BuffModel buffDatas { get { return ModelCenter.Instance.GetModel<BuffModel>(); } } // MountModel mountDatas { get { return ModelCenter.Instance.GetModel<MountModel>(); } } // PetModel petDatas { get { return ModelCenter.Instance.GetModel<PetModel>(); } } // StrengthenModel strengthDatas { get { return ModelCenter.Instance.GetModel<StrengthenModel>(); } } // MagicianModel magicianModel { get { return ModelCenter.Instance.GetModel<MagicianModel>(); } } // ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } } // EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } // AlchemyModel alchemyModel { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } } public void Init() { // var GSFormulaConfig = FuncConfigConfig.Get("EquipGSFormula"); // normalGSFormula = GSFormulaConfig.Numerical1; // var equipSkillScoreJson = JsonMapper.ToObject(GSFormulaConfig.Numerical4); // foreach (var key in equipSkillScoreJson.Keys) // { // var skillId = 0; // int.TryParse(key, out skillId); // if (skillId != 0) // { // equipSkillScores[skillId] = (int)equipSkillScoreJson[key]; // } // } // var baseAttr = JsonMapper.ToObject(GSFormulaConfig.Numerical2); // if (baseAttr.IsArray) // { // for (int i = 0; i < baseAttr.Count; i++) // { // equipBaseProperties.Add(int.Parse(baseAttr[i].ToString())); // } // } DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize; DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; } void OnBeforePlayerDataInitialize() { isPackResetOk = true; } #region 计算装备评分 class EquipSorceProperties { Dictionary<int, int> properties = new Dictionary<int, int>(); public int this[int id] { get { return properties[id]; } set { properties[id] = value; } } public List<int> Keys { get { return new List<int>(properties.Keys); } } void Add(int id, int value) { if (properties.ContainsKey(id)) { properties[id] += value; } else { properties[id] = value; } } public void AddRange(List<int> ids, List<int> values) { if (ids == null || values == null) { return; } var count = Mathf.Min(ids.Count, values.Count); for (int i = 0; i < count; i++) { Add(ids[i], values[i]); } } public void AddRange(int[] ids, int[] values) { if (ids == null || values == null) { return; } var length = Mathf.Min(ids.Length, values.Length); for (int i = 0; i < length; i++) { Add(ids[i], values[i]); } } public void AddRange(Dictionary<int, int> keyValues) { if (keyValues == null) { return; } foreach (var item in keyValues) { Add(item.Key, item.Value); } } public void AddBaseProperties(int itemId, List<int> reference) { var config = ItemConfig.Get(itemId); if (config == null) { return; } if (config.Effect1 != 0 && reference.Contains(config.Effect1)) { properties.Add(config.Effect1, config.EffectValueA1); } if (config.Effect2 != 0 && reference.Contains(config.Effect2)) { properties.Add(config.Effect2, config.EffectValueA2); } if (config.Effect3 != 0 && reference.Contains(config.Effect3)) { properties.Add(config.Effect3, config.EffectValueA3); } if (config.Effect4 != 0 && reference.Contains(config.Effect4)) { properties.Add(config.Effect4, config.EffectValueA4); } if (config.Effect5 != 0 && reference.Contains(config.Effect5)) { properties.Add(config.Effect5, config.EffectValueA5); } } public void AddCustomProperties(int itemId) { if (!AppointItemConfig.HasKey(itemId)) { return; } var config = AppointItemConfig.Get(itemId); AddRange(config.LegendAttrID, config.LegendAttrValue); } public bool ContainsKey(int id) { return properties.ContainsKey(id); } } // private Dictionary<int, int> GetEquipLegendProperties(int itemId) // { // var legendProperties = LegendPropertyUtility.GetLegendProFromEquipShen(itemId); // if (legendProperties == null) // legendProperties = LegendPropertyUtility.GetEquipProperties(itemId); // var properties = new Dictionary<int, int>(); // if (legendProperties != null) // { // foreach (var item in legendProperties) // { // properties[item.x] = item.y; // } // } // return properties; // } // private Dictionary<int, int> GetEquipShenProperties(int itemId) // { // var shenProperties = ShenPropertyUtility.GetEquipShenProperties(itemId); // var properties = new Dictionary<int, int>(); // if (shenProperties != null) // { // foreach (var item in shenProperties) // { // properties[item.x] = item.y; // } // } // return properties; // } public bool IsCustomItem(int itemId) { if (!ItemConfig.HasKey(itemId)) { return false; } return ItemConfig.Get(itemId).Effect1 == 220; } /// <summary> /// 得到装备的评分 /// </summary> /// <param name="itemId"></param> /// <returns></returns> private Dictionary<PropertyType, float> curEquipAttrDict = new Dictionary<PropertyType, float>(); //存储当前装备属性对应的数值 key 属性 value 属性值 private void CalculateEquipAttr(int itemId, EquipSorceProperties properties) { var config = ItemConfig.Get(itemId); var minAttack = properties.ContainsKey((int)PropertyType.MinAtk) ? properties[(int)PropertyType.MinAtk] : 0; var maxAttack = properties.ContainsKey((int)PropertyType.MaxAtk) ? properties[(int)PropertyType.MaxAtk] : 0; var attack = properties.ContainsKey((int)PropertyType.ATK) ? properties[(int)PropertyType.ATK] : 0; properties[(int)PropertyType.MinAtk] = minAttack + attack; properties[(int)PropertyType.MaxAtk] = maxAttack + attack; curEquipAttrDict.Clear(); foreach (var key in properties.Keys) { var attrType = (PropertyType)key; switch (attrType) { case PropertyType.ATKSPEED: case PropertyType.OnlyFinalHurt: case PropertyType.PVPAtkBackHP: case PropertyType.MinAtk: case PropertyType.MaxAtk: case PropertyType.AddFinalHurt: case PropertyType.ReduceFinalHurt: curEquipAttrDict.Add(attrType, properties[key]); break; default: curEquipAttrDict.Add(attrType, properties[key]); break; } } } #endregion @@ -298,652 +46,15 @@ public event Action<string> GetBetterEquipEvent; //得到更好的装备 value 物品的实例ID // public void OnGetEquip(ItemModel item) // { // if (item == null) // { // return; // } // if (item.packType != PackType.Item) // { // return; // } // if (!IsJobCompatibleItem(item.itemId)) // { // return; // } // int equipPlace = item.config.EquipPlace; // if ((RoleEquipType)equipPlace == RoleEquipType.Wing) // { // var wing = packModel.GetItemByIndex(PackType.Equip, SpiritWeaponModel.WING_EQUIPINDEX); // if (wing == null) // { // if (!SpiritWeaponModel.hasAutoEquipWing) // { // SpiritWeaponModel.hasAutoEquipWing = true; // ItemOperateUtility.Instance.PutOnItem(item.guid); // return; // } // } // } // switch ((RoleEquipType)equipPlace) // { // case RoleEquipType.Weapon: // case RoleEquipType.Weapon2: // case RoleEquipType.Hat: // case RoleEquipType.Clothes: // case RoleEquipType.Belt: // case RoleEquipType.Trousers: // case RoleEquipType.Shoes: // case RoleEquipType.Neck: // case RoleEquipType.FairyCan1: // case RoleEquipType.FairyCan2: // case RoleEquipType.Glove: // case RoleEquipType.Jade: // case RoleEquipType.Wing: // case RoleEquipType.Guard: // case RoleEquipType.PeerlessWeapon1: // case RoleEquipType.PeerlessWeapon2: // if (betterEquipExceptDungeonDict.ContainsKey(PlayerDatas.Instance.baseData.MapID)) // { // if (betterEquipExceptDungeonDict[PlayerDatas.Instance.baseData.MapID].Contains(item.itemId)) // { // return; // } // } // SetGetBetterEquipEvent(item); // break; // } // } private void SetGetBetterEquipEvent(ItemModel model) { // // if (model.isAuction) // // { // // return; // // } // var itemEffectTime = model.GetUseData((int)ItemUseDataKey.createTime); // if (!itemEffectTime.IsNullOrEmpty() && itemEffectTime.Count > 0) // { // if (itemEffectTime[0] != 0) // { // var cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(model.guid); // double remainTime = 0; // if (cool != null) // { // remainTime = cool.GetRemainTime(); // } // if (remainTime >= 0 && remainTime < 120 && model.config.ExpireTime > 0) // { // return; // } // } // } // if (!equipModel.IsLevelUnLocked(model.config.LV)) // { // return; // } // int isFightUp = IsFightUp(model.itemId, model.score); // if (isFightUp != 1) // { // return; // } // if (GetBetterEquipEvent != null) // { // GetBetterEquipEvent(model.guid); // } } Dictionary<int, ItemModel> RealmBetterDict = new Dictionary<int, ItemModel>(); // public Dictionary<int, ItemModel> CheckBetterEquipByRealm() // { // RealmBetterDict.Clear(); // SinglePack singlePack = packModel.GetSinglePack(PackType.Item); // if (singlePack == null) return RealmBetterDict; // int realmLv = PlayerDatas.Instance.baseData.realmLevel; // 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(equipServerIndex)) // { // RealmBetterDict.Add(equipServerIndex, model); // } // else // { // if (model.score > RealmBetterDict[equipServerIndex].score) // { // RealmBetterDict[equipServerIndex] = model; // } // } // } // } // return RealmBetterDict; // } // List<ItemModel> RealmDruglist = new List<ItemModel>(); // public List<ItemModel> GetDruglistByRealm() // { // RealmDruglist.Clear(); // SinglePack singlePack = packModel.GetSinglePack(PackType.Item); // if (singlePack == null) return RealmDruglist; // int realmLv = PlayerDatas.Instance.baseData.realmLevel; // Dictionary<int, ItemModel> pairs = singlePack.GetAllItems(); // foreach (var model in pairs.Values) // { // if (packModel.CheckIsDrugById(model.itemId)) // { // AttrFruitConfig fruitConfig = AttrFruitConfig.Get(model.itemId); // if (!packModel.IsReachMaxUseDrug(fruitConfig) // && model.config.RealmLimit <= realmLv) // { // RealmDruglist.Add(model); // } // } // } // return RealmDruglist; // } #region 物品处于CD中的逻辑处理 private List<string> itemEffectTimelist = new List<string>(); //key 物品实例ID /// <summary> /// 物品使用时间限制 /// </summary> public void SetItemEffectCDTime(string guid, int itemID, int getTime, int serverSurplusTime) { double time = GetTimeOffest(TimeUtility.GetTime((uint)getTime)); if (time < 0) { time = 0; } ItemConfig itemConfig = ItemConfig.Get(itemID); if (time >= itemConfig.ExpireTime) { KnapsackTimeCDMgr.Instance.UnRegister(guid); return; } double remainTime = (serverSurplusTime > 0 ? serverSurplusTime : itemConfig.ExpireTime) - time; KnapsackTimeCDMgr.Instance.Register(guid, itemID, remainTime); } public double GetTimeOffest(DateTime getTime) { Debug.Log("现在时间:" + TimeUtility.ServerNow + "获得时间:" + getTime); //TimeUtility.SyncServerTime(); TimeSpan t = TimeUtility.ServerNow - getTime; Debug.Log("时间差:" + t.TotalSeconds); return t.TotalSeconds; } #endregion #region 设置可以一键出售的物品数据 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, ItemModel> _packModelDict; private List<ItemModel> _sellItemlist = new List<ItemModel>(); // public List<ItemModel> GetSellItemList() // { // GetOneKeySellModel(); // _sellItemlist.Sort(SetSellItemOrder); // return _sellItemlist; // } // public int SetSellItemOrder(ItemModel startModel, ItemModel endModel) // { // bool startIsEquip = IsRealmEquip(startModel.itemId); // bool endIsEquip = IsRealmEquip(endModel.itemId); // if (startIsEquip.CompareTo(endIsEquip) != 0) return -startIsEquip.CompareTo(endIsEquip); // int order1 = startModel.config.Type; // int order2 = endModel.config.Type; // if (order1.CompareTo(order2) != 0) return order1.CompareTo(order2); // int color1 = startModel.config.ItemColor; // int color2 = endModel.config.ItemColor; // if (color1.CompareTo(color2) != 0) return -color1.CompareTo(color2); // int code1 = startModel.itemId; // int code2 = endModel.itemId; // if (code1.CompareTo(code2) != 0) return -code1.CompareTo(code2); // return 0; // } // public void GetOneKeySellModel() // { // SinglePack singlePack = packModel.GetSinglePack(PackType.Item); // if (singlePack == null) // return; // _sellItemlist.Clear(); // _lifePotionDict.Clear(); // _sameIndexEquipDict.Clear(); // _sellItemScorelist.Clear(); // playerLv = PlayerDatas.Instance.baseData.LV; // _packModelDict = singlePack.GetAllItems(); // foreach (var key in _packModelDict.Keys) // { // GetCanSellEquipList(_packModelDict[key]); // ItemModel itemModel = _packModelDict[key]; // if (drugIDs.Contains(itemModel.itemId)) // { // if (!_lifePotionDict.ContainsKey(itemModel.config.LV)) // { // List<ItemModel> modellist = new List<ItemModel>(); // modellist.Add(itemModel); // _lifePotionDict.Add(itemModel.config.LV, modellist); // } // else // { // _lifePotionDict[itemModel.config.LV].Add(itemModel); // } // } // } // #region 得到可以出售的装备 // foreach (var key in _sameIndexEquipDict.Keys) // { // _sellItemScorelist = _sameIndexEquipDict[key].Keys.ToList(); // _sellItemScorelist.Sort(); // if (_sellItemScorelist.Count > 0) // { // int score = 0; // for (score = _sellItemScorelist.Count - 1; score > -1; score--) // { // SinglePack equipPack = packModel.GetSinglePack(PackType.Equip); // ItemModel model = null; // if (equipPack != null) // { // model = equipPack.GetItemByIndex(key); // } // var modellist = _sameIndexEquipDict[key][_sellItemScorelist[score]]; // bool remainBetter = true; // for (var i = 0; i < modellist.Count; i++) // { // if (model != null) // { // if (remainBetter) // { // if (model.score < _sellItemScorelist[score] && IsJobCompatibleItem(model.itemId)) // { // _sameIndexEquipDict[key].Remove(_sellItemScorelist[score]); // remainBetter = false; // break; // } // } // } // else // { // if (IsJobCompatibleItem(model.itemId)) // { // if (remainBetter) // { // _sameIndexEquipDict[key].Remove(_sellItemScorelist[score]); // remainBetter = false; // break; // } // } // } // } // if (!remainBetter) // { // break; // } // } // for (var j = 0; j < _sellItemScorelist.Count; j++) // { // if (_sameIndexEquipDict[key].ContainsKey(_sellItemScorelist[j])) // { // var sellModlelist = _sameIndexEquipDict[key][_sellItemScorelist[j]]; // for (var k = 0; k < sellModlelist.Count; k++) // { // _sellItemlist.Add(sellModlelist[k]); // } // } // } // } // } // #endregion // List<int> drugLvlist = new List<int>(); // drugLvlist.AddRange(_lifePotionDict.Keys.ToList()); // drugLvlist.Sort(); // for (int i = drugLvlist.Count - 1; i > -1; i--) // { // if (drugLvlist[i] > playerLv) // { // _lifePotionDict.Remove(drugLvlist[i]); // } // else // { // _lifePotionDict.Remove(drugLvlist[i]); // break; // } // } // foreach (var list in _lifePotionDict.Values) // { // for (int i = 0; i < list.Count; i++) // { // _sellItemlist.Add(list[i]); // } // } // } //得到满足出售条件的装备列表 // public void GetCanSellEquipList(ItemModel model) // { // if (model.config.EquipPlace == 0 || !onekeySellTypes.Contains(model.config.Type)) // return; // Dictionary<int, List<ItemModel>> sameScoreDict; // List<ItemModel> sameScorelist; // if (model.config.ItemColor < 3) // { // if (!_sameIndexEquipDict.ContainsKey(model.config.EquipPlace)) // { // sameScoreDict = new Dictionary<int, List<ItemModel>>(); // sameScorelist = new List<ItemModel>(); // sameScorelist.Add(model); // sameScoreDict.Add(model.score, sameScorelist); // _sameIndexEquipDict.Add(model.config.EquipPlace, sameScoreDict); // } // else // { // if (_sameIndexEquipDict[model.config.EquipPlace].ContainsKey(model.score)) // { // _sameIndexEquipDict[model.config.EquipPlace][model.score].Add(model); // } // else // { // sameScorelist = new List<ItemModel>(); // sameScorelist.Add(model); // _sameIndexEquipDict[model.config.EquipPlace].Add(model.score, sameScorelist); // } // } // } // } #endregion #region 发送请求 /// <summary> /// 一键出售物品的请求 /// </summary> /// <param name="_oneKeySelllist"></param> // public void OneKeySell(List<ItemModel> _oneKeySelllist) // { // if (!isPackResetOk || SettingEffectMgr.Instance.isStartOneKeySell) return; // SettingEffectMgr.Instance.isStartOneKeySell = true; // byte[] itemIndexs = new byte[_oneKeySelllist.Count]; // int i = 0; // for (i = 0; i < _oneKeySelllist.Count; i++) // { // itemIndexs[i] = (byte)_oneKeySelllist[i].gridIndex; // } // CA311_tagCMSellItem sellItem = new CA311_tagCMSellItem(); // sellItem.PackType = (int)PackType.Item; // sellItem.Count = (byte)_oneKeySelllist.Count; // sellItem.ItemIndex = itemIndexs; // GameNetSystem.Instance.SendInfo(sellItem); // } /// <summary> /// 整理包裹物品 /// </summary> /// <param name="type"></param> public bool isPackResetOk { get; set; } public void ResetPack(PackType type) { if (lookLineIndex > -1) { SetLookIndex(null); } SinglePack singlePack = packModel.GetSinglePack(type); if (singlePack != null) { var packReset = new C070F_tagCItemPackReset(); packReset.Type = (byte)type; packReset.ItemBeginIndex = 0; packReset.ItemEndIndex = (ushort)(singlePack.unlockedGridCount - 1); GameNetSystem.Instance.SendInfo(packReset); //整理物品 if (type == PackType.Item) { isPackResetOk = false; } } } #endregion #region 查看某个位置的物品 public event Action lookEquipEvent; private int _lookLineIndex = -1; public int lookLineIndex { get { return _lookLineIndex; } private set { _lookLineIndex = value; } } public string lookItemGUID { get; private set; } public void SetLookIndex(string guid, int singleRowCount = 5) { if (string.IsNullOrEmpty(guid) || guid == "") { lookLineIndex = -1; } else { int index = packModel.GetItemByGuid(guid).gridIndex; lookLineIndex = index / singleRowCount; lookItemGUID = guid; } if (lookEquipEvent != null) { lookEquipEvent(); } } #endregion #region 判断是否有更好的装备替换 /// <summary> /// 获取装备评分最高可提升战力的装备 /// </summary> /// <param name="_places"></param> /// <returns></returns> // public string GetHighestScoreEquipByPlace(int equipPlace) // { // var itemPackage = packModel.GetSinglePack(PackType.Item); // var allItems = itemPackage.GetAllItems(); // var putModel = packModel.GetItemByIndex(PackType.Equip, equipPlace); // var guid = string.Empty; // var score = putModel == null ? 0 : putModel.score; // foreach (var item in allItems.Values) // { // if (item.config.EquipPlace == equipPlace) // { // if (!IsOverdue(item.guid) // && (IsJobCompatibleItem(item.itemId)) && item.score > score) // { // guid = item.guid; // score = item.score; // } // } // } // return guid; // } #endregion bool IsCanPutOn(ItemModel item) { if (IsJobCompatibleItem(item.itemId)) { return false; } int equipPlace = item.config.EquipPlace; if (equipPlace == 0 || equipPlace > 17) { return false; } var putOnlimitList = item.GetUseData((int)ItemUseDataKey.cancelUseLimit); if (!putOnlimitList.IsNullOrEmpty()) { if (putOnlimitList[0] == 1) { return true; } } return true; } #region 得到物品的品质颜色 private Dictionary<int, int> wingRefineQualityDict; private int[] wingsQualitys; private int[] wingsRefineExps; public int GetItemQuality(int itemId, Dictionary<int, List<int>> useDataDic = null) { wingsQualitys = null; wingsRefineExps = null; ItemConfig itemConfig = ItemConfig.Get(itemId); // wingRefineQualityDict = WingRefineAttrConfig.GetWingsQualityModel(itemConfig.LV); // if (useDataDic != null) // { // if (useDataDic.ContainsKey(42) && wingRefineQualityDict != null) // { // wingsQualitys = wingRefineQualityDict.Keys.ToArray(); // wingsRefineExps = wingRefineQualityDict.Values.ToArray(); // int i = 0; // for (i = wingsRefineExps.Length - 1; i > -1; i--) // { // if (useDataDic[42][0] >= wingsRefineExps[i]) // { // return wingsQualitys[i]; // } // } // } // } return itemConfig.ItemColor; } #endregion //设置玩家货币显示 public string OnChangeCoinsUnit(long value) { return UIHelper.ReplaceLargeNum(value); } /// <summary> /// 装备是否可以提升战力 /// </summary> /// <param name="_itemID"></param> /// <param name="_score"></param> /// <returns></returns> public int IsFightUp(int _itemID, int _score)//-1低级,0不是本职业,1更好 { var config = ItemConfig.Get(_itemID); if (config != null) { // var index = EquipModel.GetItemServerEquipPlace(_itemID); // if (index == -1) // { // return 0; // } // var item = packModel.GetItemByIndex(PackType.Equip, index); // var equipScore = item != null ? item.score : 0; // if (IsJobCompatibleItem(_itemID)) // { // return _score.CompareTo(equipScore); // } // else // { // return 0; // } } return 0; } // 不包含未开放装备的比较 属于-1 public int IsFightUpEx(int _itemID, int _score, int _realm)//-1低级,0不是本职业,1更好 { var config = ItemConfig.Get(_itemID); if (config != null) { // var index = EquipModel.GetItemServerEquipPlace(_itemID); // if (index == -1) // { // return 0; // } // var item = packModel.GetItemByIndex(PackType.Equip, index); // var equipScore = item != null ? item.score : 0; // if (IsJobCompatibleItem(_itemID)) // { // if (_realm > PlayerDatas.Instance.baseData.realmLevel) // return -1; // return _score.CompareTo(equipScore); // } // else // { // return 0; // } } return 0; } #region 物品是否过期 @@ -979,170 +90,6 @@ #endregion public bool IsJobCompatibleItem(int itemId) { var config = ItemConfig.Get(itemId); return config != null && (config.JobLimit == 0 || config.JobLimit == PlayerDatas.Instance.baseData.Job); } public bool IsRealmEquip(int itemId) { if (!ItemConfig.HasKey(itemId)) { return false; } var config = ItemConfig.Get(itemId); return config.Type >= 101 && config.Type <= 112; } public bool IsWing(int itemId) { if (!ItemConfig.HasKey(itemId)) { return false; } var config = ItemConfig.Get(itemId); return config.Type == 113 || config.Type == 39 || config.Type == 52; } public bool IsDogzEquip(int itemId) { if (!ItemConfig.HasKey(itemId)) { return false; } var config = ItemConfig.Get(itemId); return config.Type >= 119 && config.Type <= 123; } public bool IsSpiritWeapon(int itemId) { if (!ItemConfig.HasKey(itemId)) { return false; } var config = ItemConfig.Get(itemId); return config.Type >= 113 && config.Type <= 117; } public bool IsSuitEquip(int itemId) { if (!ItemConfig.HasKey(itemId)) { return false; } var config = ItemConfig.Get(itemId); return config.SuiteiD > 0 && config.Type >= 101 && config.Type <= 112; } // public bool IsThanksItem(int itemID) // { // if (AssistThanksGiftConfig.Get(itemID) == null) // { // return false; // } // return true; // } // public int GetSpecialSpiritPropertyValue(int itemId) // { // var config = SpiritWeaponConfig.Get(itemId); // if (config == null) // { // return 0; // } // var propertyId = 0; // var propertyValue = 0; // for (var i = 0; i < config.AttrIDList.Length; i++) // { // var id = config.AttrIDList[i]; // if (id == 79 || id == 80) // { // propertyId = id; // propertyValue = config.AttrValueList[i]; // break; // } // } // if (propertyId == 0) // { // return 0; // } // Equation.Instance.Clear(); // Equation.Instance.AddKeyValue("maxOOPValue", propertyValue); // var maxLevel = 100; // if (specialSpiritPropertyMaxLevels.ContainsKey(config.Level)) // { // maxLevel = specialSpiritPropertyMaxLevels[config.Level]; // } // Equation.Instance.AddKeyValue("lv", Mathf.Min(maxLevel, PlayerDatas.Instance.baseData.LV)); // return Equation.Instance.Eval<int>(specialSpiritPropertyFormula[propertyId]); // } // public int GetSpecialSpiritPropertyMaxLevel(int itemId) // { // var config = SpiritWeaponConfig.Get(itemId); // if (config == null) // { // return 0; // } // var maxLevel = 0; // if (specialSpiritPropertyMaxLevels.ContainsKey(config.Level)) // { // maxLevel = specialSpiritPropertyMaxLevels[config.Level]; // } // return maxLevel; // } //装备对比,用于非实际装备简单比较 是否需要此装备 // public bool IsSatisfyEquipBetterEquip(int itemID) // { // if (!IsRealmEquip(itemID)) // { // return false; // } // var itemConfig = ItemConfig.Get(itemID); // if (itemConfig.JobLimit != 0 && itemConfig.JobLimit != PlayerDatas.Instance.baseData.Job) // { // return false; // } // var equipSet = equipModel.GetEquipSet(itemConfig.LV); // if (!equipSet.IsSlotUnLocked(itemConfig.EquipPlace)) // { // return false; // } // var equipGuid = equipModel.GetEquip(new Int2(itemConfig.LV, itemConfig.EquipPlace)); // if (string.IsNullOrEmpty(equipGuid)) // { // return true; // } // var itemModel = packModel.GetItemByGuid(equipGuid); // if (itemModel == null) // { // return true; // } // if (itemConfig.ItemColor > itemModel.config.ItemColor) // { // return true; // } // return itemModel.config.SuiteiD == 0 && itemConfig.SuiteiD != 0; // } #region 获得英雄物品展示立绘 public List<int> poplhHeroIdList = new List<int>(); @@ -1175,10 +122,6 @@ #endregion public Action OnGetItem; //CommonGetItemWin界面关闭时触发 public string getItemInfo { get; private set; } //通用显示获得的界面信息 public string getItemBtnText { get; private set; } //通用显示获得的界面按钮文字 默认确定 public int closeSeconds { get; private set; } // 关闭倒计时时间 如果传0代表手动关闭 public bool isNameShow { get; private set; } // 是否展示物品名字 // 如果同时有多种奖励封包,同一个事件归集,不同事件直接顶掉显示最新 @@ -1240,51 +183,7 @@ ShowHeroLHWin(items);//有传奇以上英雄显示立绘 } //可以指定打开的窗口 // public void ShowGetItemEx<T>(List<Item> items, string info = "", int seconds = 3, string btnName = "", Action func = null, bool isNameShow = true, string eventName = "default") where T : UIBase // { // if (getItemEventName != eventName) // { // if (UIManager.Instance.IsOpenedInList<T>()) // { // //----------------------记得改立即关闭 // UIManager.Instance.CloseWindow<T>(); // } // totalShowItems.Clear(); // getItemEventName = eventName; // } // //相同ID 合并数量显示 // for (int i = 0; i < items.Count; i++) // { // var id = items[i].id; // if (totalShowItems.ContainsKey(id)) // { // totalShowItems[id] = new Item(id, items[i].countEx + totalShowItems[id].countEx, items[i].useType, items[i].quality); // } // else // { // totalShowItems.Add(id, items[i]); // } // } // getItemInfo = info; // OnGetItem = func; // if (btnName == "") // btnName = Language.Get("PopConfirmWin_OK"); // getItemBtnText = btnName; // closeSeconds = seconds; // this.isNameShow = isNameShow; // OnGetItemShowEvent?.Invoke(); // if (!UIManager.Instance.IsOpenedInList<T>()) // { // UIManager.Instance.OpenWindow<T>(); // } // ShowHeroLHWin(items);//有传奇以上英雄显示立绘 // } public void ClearGetItem() { //不清理物品,下次收到数据会自动清理,只改事件方便打开界面测试 @@ -1367,25 +266,6 @@ return false; } //var usedCountTotal = packModel.GetItemTotalUsedTimes(item.itemId); // var fruitConfig = AttrFruitConfig.Get(item.itemId); // if (fruitConfig != null) // { // var limitTimes = 0; // if (fruitConfig.FuncID == 2) // { // limitTimes = alchemyModel.GetAlchemyDrugUseLimit(item.itemId); // } // else // { // limitTimes = fruitConfig.basicUseLimit; // } // if (usedCountTotal >= limitTimes || useCnt > limitTimes) // { // error = 1; // return false; // } // } error = 0; return true; @@ -1406,4 +286,25 @@ GameNetSystem.Instance.SendInfo(useItem); //使用物品 } /// <summary> /// 打开批量使用物品界面 /// </summary> /// <param name="itemID">要使用的物品</param> /// <param name="showTipEvent">参数为要使用的物品数量,返回值为文本</param> public void ShowItemBatchUseWin(int itemID, Func<long, string> showTipEvent) { if (UIManager.Instance.IsOpened<ItemBatchUseWin>()) { UIManager.Instance.CloseWindow<ItemBatchUseWin>(); } if (!CheckItemCount(PackType.Item, itemID, 1, 2)) { return; } ItemBatchUseWin.itemID = itemID; ItemBatchUseWin.ShowTextEvent = showTipEvent; UIManager.Instance.OpenWindow<ItemBatchUseWin>(); } } Main/System/KnapSack/PackManager.cs
@@ -387,7 +387,6 @@ public void PackResetOk(H0316_tagPackResetOK packreset) { ItemLogicUtility.Instance.isPackResetOk = true; } public void UseItemSuccess(H0706_tagUseItemSuccess success) Main/System/Message/RichTableEvent.cs
@@ -58,14 +58,7 @@ if (cfg != null) { var _itemColor = cfg.ItemColor; if (ItemLogicUtility.Instance.IsWing(id))//翅膀 { Dictionary<int, List<int>> userdata = null; if (TryGetUserData(_dict, out userdata)) { _itemColor = ItemLogicUtility.Instance.GetItemQuality(cfg.ID, userdata); } } var itemName = cfg.ItemName; if (_dict.ContainsKey("chatsend")) { @@ -469,18 +462,5 @@ return UIHelper.AppendColor(_itemColor, info, colorType == 1); } static bool TryGetUserData(Dictionary<string, string> href, out Dictionary<int, List<int>> userdata) { userdata = null; if (href.ContainsKey("itemplus")) { var itemplus = LitJson.JsonMapper.ToObject<ItemTipUtility.CustomItemPlus>(href["itemplus"]); userdata = ConfigParse.Analysis(itemplus.UserData); } else if (href.ContainsKey("userdata")) { userdata = ConfigParse.Analysis(href["userdata"]); } return false; } }