From 5022f4efe76121df33dc81249befa7556e535418 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期四, 19 六月 2025 22:35:42 +0800 Subject: [PATCH] 0312 红点增加“新”标识功能,其他代码优化 --- Main/System/KnapSack/Logic/ItemLogicUtility.cs | 405 --------------------------------------------------------- 1 files changed, 1 insertions(+), 404 deletions(-) diff --git a/Main/System/KnapSack/Logic/ItemLogicUtility.cs b/Main/System/KnapSack/Logic/ItemLogicUtility.cs index 5d228e6..0513ad9 100644 --- a/Main/System/KnapSack/Logic/ItemLogicUtility.cs +++ b/Main/System/KnapSack/Logic/ItemLogicUtility.cs @@ -7,22 +7,10 @@ public class ItemLogicUtility : Singleton<ItemLogicUtility> { - private string dogzGSFormula; private string normalGSFormula; - private Dictionary<int, string> specialSpiritPropertyFormula = new Dictionary<int, string>(); - Dictionary<int, int> specialSpiritPropertyMaxLevels; - private int[] preciousItemTypes; - private int[] preciousItemIDs; // 涓嶅睍绀虹殑鐗╁搧ID - public int[] drugIDs; - private int[] onekeySellTypes; - private int[] pushItemIds; - - private int lsItemCnt; // 鑳屽寘涓殑鐏电煶鏁伴噺 private List<int> equipBaseProperties = new List<int>(); - private Dictionary<int, int> promptUseLimitDict; - private Dictionary<int, List<int>> betterEquipExceptDungeonDict; Dictionary<int, int> equipSkillScores = new Dictionary<int, int>(); PackManager packModel { get { return PackManager.Instance; } } @@ -38,15 +26,8 @@ public void Init() { var GSFormulaConfig = FuncConfigConfig.Get("EquipGSFormula"); - dogzGSFormula = GSFormulaConfig.Numerical3; normalGSFormula = GSFormulaConfig.Numerical1; - var json = JsonMapper.ToObject(FuncConfigConfig.Get("OutOfPrintValue").Numerical2); - foreach (var key in json.Keys) - { - specialSpiritPropertyFormula[int.Parse(key)] = json[key].ToString(); - } - specialSpiritPropertyMaxLevels = ConfigParse.GetDic<int, int>(FuncConfigConfig.Get("OutOfPrintValueDes").Numerical1); var equipSkillScoreJson = JsonMapper.ToObject(GSFormulaConfig.Numerical4); foreach (var key in equipSkillScoreJson.Keys) { @@ -66,29 +47,9 @@ equipBaseProperties.Add(int.Parse(baseAttr[i].ToString())); } } - lsItemCnt = int.Parse(FuncConfigConfig.Get("LingshiShowCount").Numerical1); - preciousItemTypes = ConfigParse.GetMultipleStr<int>(FuncConfigConfig.Get("ItemPush").Numerical1); - promptUseLimitDict = ConfigParse.GetDic<int, int>(FuncConfigConfig.Get("NoPromptUsetItem").Numerical1); - preciousItemIDs = ConfigParse.GetMultipleStr<int>(FuncConfigConfig.Get("ItemPush").Numerical3); - drugIDs = ConfigParse.GetMultipleStr<int>(FuncConfigConfig.Get("LifePotionlist").Numerical1); - onekeySellTypes = ConfigParse.GetMultipleStr<int>(FuncConfigConfig.Get("OneKeySellItemType").Numerical1); - pushItemIds = ConfigParse.GetMultipleStr<int>(FuncConfigConfig.Get("IntroductionItem").Numerical1); - - betterEquipExceptDungeonDict = new Dictionary<int, List<int>>(); - var excEquipData = JsonMapper.ToObject(FuncConfigConfig.Get("GoodItemDungeon").Numerical1); - foreach (var dungeonId in excEquipData.Keys) - { - var itemIds = new List<int>(); - betterEquipExceptDungeonDict.Add(int.Parse(dungeonId), itemIds); - for (var i = 0; i < excEquipData[dungeonId].Count; i++) - { - var itemId = int.Parse(excEquipData[dungeonId][i].ToString()); - itemIds.Add(itemId); - } - } DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; } @@ -385,370 +346,7 @@ #endregion - #region 涓荤晫闈㈢墿鍝佸脊妗嗗睍绀� - public event Action<PackType, string> GetPreciousItemEvent; //寰楀埌鐝嶅搧 value 鐗╁搧鐨勫疄渚婭D - public event Action<PackType, string> GetExpItemEvent; //寰楀埌缁忛獙鐗╁搧 value 鐗╁搧鐨勫疄渚婭D - public void RecommendItem(ItemModel item) - { - if (item.packType != PackType.Item) - { - return; - } - if (!preciousItemTypes.Contains(item.config.Type)) - { - int mapId = PlayerDatas.Instance.baseData.MapID; - var drugList = packModel.GetDrugIDListByDungeonID(mapId); - if (drugList == null) - return; - if (!drugList.Contains(item.config.ID)) - return; - } - - if (item.config.Type == 145 && item.config.CDTime > 0) - { - var createTime = item.GetUseDataFirstValue((int)ItemUseDataKey.createTime); - if (createTime > 0) - { - DateTime useTime; - if (item.config.CDTypeEx == 1) - { - //itemConfig.CDTime 涓哄ぉ锛岃繃0鐐瑰彲鐢� - useTime = TimeUtility.GetTime((uint)createTime).AddDays(item.config.CDTime); - useTime = TimeUtility.GetDayStartTime(useTime.Year, useTime.Month, useTime.Day); - } - else - { - useTime = TimeUtility.GetTime((uint)createTime).AddSeconds(item.config.CDTime); - } - if (TimeUtility.ServerNow < useTime) - { - return; - } - } - } - - if (preciousItemIDs != null && preciousItemIDs.Contains(item.config.ID)) - { - return; - } - if (item.config.ID == packModel.lsItemID) - { - int tmpCnt = PlayerDatas.Instance.baseData.LV < 50 ? 5 : lsItemCnt; - if (packModel.GetItemCountByID(PackType.Item, packModel.lsItemID) < tmpCnt) - return; - } - //if (item.isAuction) - //{ - // return; - //} - - if (item.config.UseLV > PlayerDatas.Instance.baseData.LV) - { - return; - } - - if (IsOverdue(item.guid)) - { - return; - } - - // if (!IsAbleToUse(item)) - // { - // return; - // } - - if (IsSpiritWeapon(item.itemId)) - { - if (IsFightUp(item.itemId, item.score) != 1) - { - return; - } - } - if (item.config.Type == 13) - { - // 缁忛獙涓圭壒娈婂鐞嗭紝浼樺厛鏄剧ず - if (GetExpItemEvent != null) - { - GetExpItemEvent(item.packType, item.guid); - } - } - else - { - if (GetPreciousItemEvent != null) - { - GetPreciousItemEvent(item.packType, item.guid); - } - - } - } - - // bool IsAbleToUse(ItemModel item) - // { - // var windowSearch = WindowSearchConfig.Get(item.config.Jump); - // if (windowSearch != null) - // { - // if (!FuncOpen.Instance.IsFuncOpen(windowSearch.Lv) && windowSearch.Lv != 0) - // { - // return false; - // } - // } - - // if (pushItemIds.Contains(item.itemId)) - // { - // var itemCnt = packModel.GetItemCountByID(PackType.Item, item.itemId) - item.count; - // if (itemCnt > 0) - // { - // return false; - // } - // else - // { - // if (item.preItemCount > 0) - // { - // return false; - // } - // } - // } - - // if (promptUseLimitDict.ContainsKey(item.itemId)) - // { - // var playerLv = PlayerDatas.Instance.baseData.LV; - // if (playerLv < promptUseLimitDict[item.itemId]) - // { - // return false; - // } - // } - - // ulong canUseCnt = 0; - // if (packModel.IsReachUseLimit(item.guid, out canUseCnt)) - // { - // return false; - // } - - // bool isBox = false; - // bool isCanOpen = ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondition(item.itemId, out isBox); - // if (isBox) - // { - // if (!isCanOpen) - // { - // return false; - // } - // } - - // //if (trialModel.trialTokens.Contains(item.itemId)) - // //{ - // // if (!trialModel.IsAnySatisfyExchangeBetter(item.itemId)) - // // { - // // return false; - // // } - // //} - - // if (packModel.CheckIsDrugById(item.itemId)) - // { - // if (item.config.RealmLimit > PlayerDatas.Instance.baseData.realmLevel) - // { - // return false; - // } - // } - - // var fruitConfig = AttrFruitConfig.Get(item.itemId); - // if (fruitConfig != null && fruitConfig.FuncID == 2) - // { - // if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace)) - // { - // return false; - // } - // } - - // switch (item.config.Type) - // { - // case 8: - // if (buffDatas.BastBuff(item.itemId)) - // { - // return false; - // } - // break; - // case 20: - // if (magicianModel.IsGodWeaponMaxLevelByItem(item.itemId)) - // { - // return false; - // } - // break; - // case 21: - // if (!mountDatas.IsHint(HorseEnum.HorseDan, item.itemId)) - // { - // return false; - // } - // break; - // case 22: - // if (!mountDatas.IsHint(HorseEnum.HorseStone, item.itemId)) - // { - // return false; - // } - // break; - // case 41: - // if (!mountDatas.IsHint(HorseEnum.HorseDebris, item.itemId)) - // { - // return false; - // } - // break; - // case 26: - // if (!petDatas.IsHint(PetEnum.PetDebris, item.itemId)) - // { - // return false; - // } - // break; - // case 27: - // if (!petDatas.IsHint(PetEnum.PetDan, item.itemId)) - // { - // return false; - // } - // break; - // case 28: - // if (!petDatas.IsHint(PetEnum.PetStone, item.itemId)) - // { - // return false; - // } - // break; - // case 25: - // if (!ModelCenter.Instance.GetModel<EquipGemModel>().IsBetterGem(item.itemId)) - // { - // return false; - // } - // break; - // case 39: - // if (!IsBetterWings(item)) - // { - // return false; - // } - // break; - // case 52: - // if (!strengthDatas.IsHint(item.itemId)) - // { - // return false; - // } - // break; - // case 55: - // if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace)) - // { - // return false; - // } - // var alchemyId = 0; - // if (alchemyModel.TryGetAlchemyByStudyMaterial(item.itemId, out alchemyId)) - // { - // var alchemyConfig = AlchemyConfig.Get(alchemyId); - // int alchemingId; - // if (alchemyModel.IsStoveAlcheming((AlchemyType)alchemyConfig.AlchemType, out alchemingId)) - // { - // return false; - // } - // if (alchemyModel.IsGraspRecipe(alchemyId)) - // { - // return false; - // } - // var studyError = 0; - // if (!alchemyModel.TryLearn(alchemyId, out studyError)) - // { - // return false; - // } - // } - // break; - // case 127: - // var error = 0; - // bool isHaveMakeNum = ItemOperateUtility.Instance.CanUseItem(item.guid, 1, out error); - // int remainNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum(); - // if (!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch - // || remainNum > 0 - // || !isHaveMakeNum) - // { - // return false; - // } - // break; - // default: - // break; - // } - - // switch (item.itemId) - // { - // case 951: - // if (!CheckIsExtendGrid(item.itemId)) - // { - // return false; - // } - // break; - // case 952: - // return false; - // break; - - // } - - // return true; - // } - - // private bool IsBetterWings(ItemModel item) - // { - // if (item == null) - // { - // return false; - // } - - // var putModel = packModel.GetItemByIndex(PackType.Equip, SpiritWeaponModel.WING_EQUIPINDEX); - // var singlePack = packModel.GetSinglePack(PackType.Item); - // if (singlePack == null) - // { - // return false; - // } - - // int[] composeTypes = item.config.JumpComposeCondi; - // bool isOpenCompose = false; - // if (composeTypes != null && composeTypes.Length >= 3) - // { - // int first = composeTypes[0]; - // int second = composeTypes[1]; - // int third = composeTypes[2]; - // ComposeWinModel.ComposeThirdTypeData thirdTypeData = null; - // composeModel.TryGetThirdTypeData(first, second, third, out thirdTypeData); - // if (thirdTypeData != null) - // { - // var itemCompound = thirdTypeData.itemCompound; - // if (itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV) - // { - // isOpenCompose = true; - // } - // } - // } - - // if (!isOpenCompose) - // { - // return false; - // } - - // if (putModel != null && putModel.config.LV >= item.config.LV) - // { - // return false; - // } - - // var itemModels = packModel.GetItems(PackType.Item, new SinglePack.FilterParams() - // { - // itemTypes = new List<int>() { (int)ItemType.Equip_Wing } - // }); - - // if (itemModels != null) - // { - // for (int i = 0; i < itemModels.Count; i++) - // { - // if (IsJobCompatibleItem(itemModels[i].itemId)) - // { - // if (itemModels[i].config.LV >= item.config.LV) - // { - // return false; - // } - // } - // } - // } - - // return true; - // } - + private bool CheckIsExtendGrid(int itemId) { SinglePack singlePack = packModel.GetSinglePack(PackType.Item); @@ -954,7 +552,6 @@ // } // return RealmDruglist; // } - #endregion #region 鐗╁搧澶勪簬CD涓殑閫昏緫澶勭悊 -- Gitblit v1.8.0