Lua/Gen/SnxxzUIItemOperateUtilityWrap.cs
@@ -113,7 +113,7 @@ ItemOperateType _btnType;translator.Get(L, 2, out _btnType); string _guid = LuaAPI.lua_tostring(L, 3); gen_to_be_invoked.PutOnItem( _btnType, _guid ); gen_to_be_invoked.PutOnItem( _guid ); @@ -171,10 +171,6 @@ int _equipPlace = LuaAPI.xlua_tointeger(L, 2); int _itemIndex = LuaAPI.xlua_tointeger(L, 3); Snxxz.UI.ItemModel _oldItem = (Snxxz.UI.ItemModel)translator.GetObject(L, 4, typeof(Snxxz.UI.ItemModel)); gen_to_be_invoked.PutOnEquip( _equipPlace, _itemIndex, _oldItem ); return 0; } @@ -790,14 +786,6 @@ [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int _g_get_selectedItem(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); Snxxz.UI.ItemOperateUtility gen_to_be_invoked = (Snxxz.UI.ItemOperateUtility)translator.FastGetCSObj(L, 1); translator.Push(L, gen_to_be_invoked.selectedItem); } catch(System.Exception gen_e) { return LuaAPI.luaL_error(L, "c# exception:" + gen_e); } return 1; } Lua/Gen/SnxxzUIPackModelWrap.cs
@@ -1057,11 +1057,6 @@ { Snxxz.UI.SinglePack.FilterParams _param;translator.Get(L, 2, out _param); System.Collections.Generic.List<Snxxz.UI.ItemModel> gen_ret = gen_to_be_invoked.GetItems( _param ); translator.Push(L, gen_ret); return 1; } System/BetterItemGet/BetterEquipGetModel.cs
@@ -71,7 +71,7 @@ if(isCoolEnd) { DebugEx.Log("UpdateCoolTime:" + _equip.itemId); ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn,guid); ItemOperateUtility.Instance.PutOnItem(guid); ReportConfirmBetterEquip(guid); } } System/Equip/EquipModel.cs
@@ -22,9 +22,6 @@ public readonly LogicString selectedEquip = new LogicString(); public readonly LogicInt selectedStarLevel = new LogicInt(); int m_AppearanceLevel = 0; public int appearanceLevel { get { return m_AppearanceLevel; } } Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>(); Dictionary<string, CandidateEquip> candidateEquips = new Dictionary<string, CandidateEquip>(); @@ -50,7 +47,7 @@ { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var lastestSet = 0; var lastestSet = 1; return lastestSet; } @@ -69,7 +66,7 @@ { candidateEquips.Clear(); selectedEquip.value = string.Empty; var items = packModel.GetItems(new SinglePack.FilterParams() var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams() { level = selectedLevel.value, equipType = selectedPlace.value @@ -100,6 +97,7 @@ selectedLevel.value = 0; selectedPlace.value = 0; selectedEquip.value = string.Empty; selectedStarLevel.value = 0; } public List<string> GetCandidateEquips() @@ -168,6 +166,17 @@ } return equipSets[level]; } public string GetEquip(int level, int place) { var set = GetEquipSet(level); if (set == null) { return string.Empty; } return set.GetEquip(place); } public void SetAppearance(int level) @@ -340,9 +349,36 @@ private void OnItemPackRefresh(PackType type) { if (type == PackType.Item) switch (type) { case PackType.Item: UpdateRedpoints(); break; case PackType.Equip: foreach (var set in equipSets.Values) { for (var i = 1; i <= 12; i++) { set.UpdateEquipSlot(i, string.Empty); } } var items = packModel.GetItems(PackType.Equip, new SinglePack.FilterParams() { level = 0, quality = 0, equipType = 0, itemType = 0 }); foreach (var item in items) { var clientPlace = EquipSet.ServerPlaceToClientPlace(item.itemPlace); equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, item.guid); } break; default: break; } } @@ -350,18 +386,23 @@ { if (type == PackType.Item) { return; } var config = ItemConfig.Get(itemId); var level = config.LV; if (!equipSets.ContainsKey(level)) if (equipSets.ContainsKey(level)) { return; } var item = packModel.GetItemByIndex(PackType.Item, index); if (item != null) { equipSets[level].UpdateRedPoint(item.guid); } } } else if (type == PackType.Equip) { var equip = packModel.GetItemByIndex(PackType.Equip, index); var clientPlace = EquipSet.ServerPlaceToClientPlace(index); equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, equip == null ? string.Empty : equip.guid); } } private void UpdateRedpoints() @@ -369,7 +410,7 @@ var equips = new List<ItemModel>(); for (var i = 1; i <= 12; i++) { var items = packModel.GetItems(new SinglePack.FilterParams() var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams() { equipType = i, }); @@ -412,7 +453,7 @@ var equips = new List<ItemModel>(); for (var i = 1; i <= 12; i++) { var items = packModel.GetItems(new SinglePack.FilterParams() var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams() { level = level, equipType = i, @@ -448,7 +489,7 @@ foreach (var item in configs) { var level = item.level; var currentRealm = setLevelToRealms.ContainsKey(level) ? 9999 : setLevelToRealms[level]; var currentRealm = setLevelToRealms.ContainsKey(level) ? setLevelToRealms[level] : 9999; if (item.realm < currentRealm) { setLevelToRealms[level] = item.realm; System/Equip/EquipSet.cs
@@ -32,9 +32,12 @@ } public void UpdateEquipSlots() public void UpdateEquipSlot(int place, string equipGuid) { if (equipSlots.ContainsKey(place)) { equipSlots[place].equip.value = equipGuid; } } public void SelectPlace(int place) @@ -93,7 +96,7 @@ return; } var place = equip.equipPlace; var place = equip.config.EquipPlace; if (!equipSlots.ContainsKey(place)) { return; @@ -105,7 +108,7 @@ return; } if (!IsPlaceCompatible(place, equip.equipPlace)) if (!IsPlaceCompatible(place, equip.config.EquipPlace)) { return; } @@ -220,8 +223,6 @@ private bool IsPlaceCompatible(int slotPlace, int equipPlace) { slotPlace = slotPlace == 10 ? 9 : slotPlace; equipPlace = equipPlace == 10 ? 9 : equipPlace; return slotPlace == equipPlace; } System/Equip/EquipSuitPropertyWidget.cs
@@ -39,7 +39,7 @@ m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name; for (int i = 1; i <= 8; i++) { var equip = packModel.GetItemByGuid(model.GetEquipSet(level).GetEquip(i)); var equip = packModel.GetItemByGuid(model.GetEquip(level, i)); var hasSuit = equip != null && equip.config.SuiteiD > 0; m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(hasSuit ? TextColType.Green : TextColType.Gray); } System/EquipStar/EquipStarModel.cs
@@ -221,14 +221,14 @@ return null; } var equipGuid = equipModel.GetEquipSet(level).GetEquip(place); var equipGuid = equipModel.GetEquip(level,place); var equip = packModel.GetItemByGuid(equipGuid); if (equip == null) { return null; } var expcetMaterials = packModel.GetItems(new SinglePack.FilterParams() var expcetMaterials = packModel.GetItems( PackType.Item, new SinglePack.FilterParams() { level = 0, quality = 0, System/KnapSack/BetterItemGetBehaviour.cs
@@ -137,7 +137,7 @@ } else { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, model.currentEquipGuid); ItemOperateUtility.Instance.PutOnItem(model.currentEquipGuid); model.ReportConfirmBetterEquip(model.currentEquipGuid); } } System/KnapSack/Logic/ItemLogicUtility.cs
@@ -828,7 +828,7 @@ var equipItemModel = playerPack.GetItemByIndex(PackType.Equip, model.config.EquipPlace); if (PlayerDatas.Instance.baseData.LV >= 200) { if (model.equipPlace > (int)RoleEquipType.Weapon2 && model.equipPlace < (int)RoleEquipType.Neck) if (model.config.EquipPlace > (int)RoleEquipType.Weapon2 && model.config.EquipPlace < (int)RoleEquipType.Neck) { if (equipItemModel != null && equipItemModel.config.ItemColor > model.config.ItemColor) { System/KnapSack/Logic/ItemModel.cs
@@ -14,17 +14,15 @@ public int equipScore { get; private set; } public Dictionary<int, List<int>> useDataDict { get; private set; } public int equipPlace public int equipPlace { get { if ((config.Type >= 101 && config.Type <= 112) || (config.Type >= 128 && config.Type <= 137)) { get { if (packType != PackType.Equip) { return config == null ? 0 : config.EquipPlace; return EquipSet.ClientPlaceToServerPlace(config.LV, config.EquipPlace); } else { return itemPlace; return 0; } } } System/KnapSack/Logic/ItemOperateUtility.cs
@@ -9,7 +9,8 @@ [XLua.LuaCallCSharp] public class ItemOperateUtility : Singleton<ItemOperateUtility> { PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } } EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } StrengthenModel strengthModel { get { return ModelCenter.Instance.GetModel<StrengthenModel>(); } } EquipWashModel equipWashModel { get { return ModelCenter.Instance.GetModel<EquipWashModel>(); } } @@ -24,274 +25,84 @@ #region 装备 public ItemModel selectedItem { get; private set; } ItemConfig sendItemConfig = null; int itemIndex = -1; public void PutOnItem(ItemOperateType btnType, string guid) public string operateItemGuid { get; private set; } public void PutOnItem(string guid) { selectedItem = playerPack.GetItemByGuid(guid); this.operateItemGuid = guid; var selectedItem = packModel.GetItemByGuid(guid); if (selectedItem == null) { return; } var itemId = selectedItem.itemId; sendItemConfig = ItemConfig.Get(selectedItem.itemId); if (sendItemConfig.JobLimit != 0 && sendItemConfig.JobLimit / 100 != PlayerDatas.Instance.baseData.Job) if (selectedItem.config.JobLimit != 0 && selectedItem.config.JobLimit / 100 != PlayerDatas.Instance.baseData.Job) { SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379"); return; } itemIndex = selectedItem.itemPlace; var putOnLimits = selectedItem.GetUseDataModel((int)ItemUseDataKey.cancelUseLimit); if (putOnLimits != null) if (putOnLimits != null && putOnLimits[0] == 1) { if (putOnLimits[0] == 1) var placable = CheckPutOnPlace(itemId); if (!placable) { CheckPutOnPlace(itemId); return; } else { CheckEquipUseLimit(itemId); PutOnEquip(selectedItem.equipPlace,selectedItem.guid); return; } } else var wearable = IsWearable(itemId); if (wearable) { CheckEquipUseLimit(itemId); var placable = CheckPutOnPlace(itemId); if (!placable) { return; } PutOnEquip(selectedItem.equipPlace, selectedItem.guid); } } bool CheckEquipUseLimit(int itemId) bool IsWearable(int itemId) { var config = ItemConfig.Get(itemId); int[] uselimits = config.UseCondiType; if (uselimits == null || uselimits.Length < 1) var uselimits = config.UseCondiType; var wearable = true; if (!uselimits.IsNullOrEmpty()) { CheckPutOnPlace(itemId); return true; } bool wearable = true; for (int i = 0; i < uselimits.Length; i++) { switch (uselimits[i]) { case 0: var level = PlayerDatas.Instance.baseData.LV; if (level < config.UseLV) { wearable = false; ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("EquipWinLevelLimit", config.UseLV, config.UseLV - level)); } break; case 1: wearable = CheckPutOnRealm(itemId); break; case 2: wearable = CheckPutOnNeed(itemId); break; } } if (wearable) { CheckPutOnPlace(itemId); } return wearable; } /// <summary> /// 检测穿戴装备所需要的条件 /// </summary> private StringBuilder offsetConditionStr = new StringBuilder(); private StringBuilder upgradConditionStr = new StringBuilder(); private StringBuilder needConditionStr = new StringBuilder(); private Dictionary<AttrEnum, float> sumOffsetlist = new Dictionary<AttrEnum, float>(); private Dictionary<AttrEnum, int> sumNeedlist = new Dictionary<AttrEnum, int>(); private float sumOffsetPoint = 0; private int sumNeedPoint = 0; private bool CheckPutOnNeed(int itemId) { var config = ItemConfig.Get(itemId); int playerJob = PlayerDatas.Instance.baseData.Job; if (playerJob != Math.Floor((double)config.JobLimit / 100) && config.JobLimit != 0) { SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379"); return false; } int jobRank = config.JobLimit % 10; offsetConditionStr.Length = 0; sumOffsetlist.Clear(); sumNeedlist.Clear(); sumOffsetPoint = 0; sumNeedPoint = 0; needConditionStr.Length = 0; upgradConditionStr.Length = 0; float offset = 0; if (config.LimitSTR != 0) { offset = config.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER); if (offset > 0) { if (offsetConditionStr.Length > 0) { offsetConditionStr.Append("\n" + Language.Get("KnapS136", offset)); } else { offsetConditionStr.Append(Language.Get("KnapS136", offset)); } if (upgradConditionStr.Length > 0) { upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS136", config.LimitSTR), offset)); } else { upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS136", config.LimitSTR), offset)); } sumOffsetPoint += offset; sumNeedPoint += config.LimitSTR; sumOffsetlist.Add(AttrEnum.POWER, offset); } sumNeedlist.Add(AttrEnum.POWER, config.LimitSTR); if (needConditionStr.Length > 0) { needConditionStr.Append("\n" + Language.Get("KnapS136", config.LimitSTR)); } else { needConditionStr.Append(Language.Get("KnapS136", config.LimitSTR)); } } if (config.LimitPHY != 0) { offset = config.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY); if (offset > 0) { if (offsetConditionStr.Length > 0) { offsetConditionStr.Append("\n" + Language.Get("KnapS135", offset)); } else { offsetConditionStr.Append(Language.Get("KnapS135", offset)); } if (upgradConditionStr.Length > 0) { upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS135", config.LimitPHY), offset)); } else { upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS135", config.LimitPHY), offset)); } sumOffsetPoint += offset; sumNeedPoint += config.LimitPHY; sumOffsetlist.Add(AttrEnum.AGILITY, offset); } sumNeedlist.Add(AttrEnum.AGILITY, config.LimitPHY); if (needConditionStr.Length > 0) { needConditionStr.Append("\n" + Language.Get("KnapS135", config.LimitPHY)); } else { needConditionStr.Append(Language.Get("KnapS135", config.LimitPHY)); } } if (config.LimitPNE != 0) { offset = config.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY); if (offset > 0) { if (offsetConditionStr.Length > 0) { offsetConditionStr.Append("\n" + Language.Get("KnapS137", offset)); } else { offsetConditionStr.Append(Language.Get("KnapS137", offset)); } if (upgradConditionStr.Length > 0) { upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS137", config.LimitPNE), offset)); } else { upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS137", config.LimitPNE), offset)); } sumOffsetPoint += offset; sumOffsetlist.Add(AttrEnum.MENTALITY, offset); sumNeedPoint += config.LimitPNE; } sumNeedlist.Add(AttrEnum.MENTALITY, config.LimitPNE); if (needConditionStr.Length > 0) { needConditionStr.Append("\n" + Language.Get("KnapS137", config.LimitPNE)); } else { needConditionStr.Append(Language.Get("KnapS137", config.LimitPNE)); } } if (offsetConditionStr.Length > 0) { if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => { if (isOk) { if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint)) { foreach (var key in sumOffsetlist.Keys) { PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint; rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]); } } else { FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint); } } }); } return false; } return true; } private StringBuilder curRealmImgStr = new StringBuilder(); private StringBuilder needRealmImgStr = new StringBuilder(); private bool CheckPutOnRealm(int itemId) { var config = ItemConfig.Get(itemId); curRealmImgStr.Length = 0; needRealmImgStr.Length = 0; var _realmLv = config.RealmLimit; var needRealmConfig = RealmConfig.Get(_realmLv); var realmLevel = config.RealmLimit; var needRealmConfig = RealmConfig.Get(realmLevel); var curRealmConfig = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel); if (PlayerDatas.Instance.baseData.realmLevel < _realmLv) if (PlayerDatas.Instance.baseData.realmLevel < realmLevel) { needRealmImgStr.AppendFormat("<Img img={0}/>", needRealmConfig.Img); if (curRealmConfig != null && PlayerDatas.Instance.baseData.realmLevel > 0) @@ -322,34 +133,12 @@ return true; } private void RefreshFreePoint(PlayerDataRefresh refreshType) { switch (refreshType) { case PlayerDataRefresh.STR: case PlayerDataRefresh.PNE: case PlayerDataRefresh.PHY: case PlayerDataRefresh.CON: { ConfirmCancel.ShowPopConfirm(Language.Get("KnapS138"), Language.Get("KnapS139"), () => { CheckPutOnPlace(selectedItem == null ? 0 : selectedItem.itemId); }); PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshFreePoint; } break; } } /// <summary> /// 检测穿戴的位置对仙器进行特殊处理 /// </summary> private void CheckPutOnPlace(int itemId) private bool CheckPutOnPlace(int itemId) { var config = ItemConfig.Get(itemId); if (config == null) { return; return false; } ItemModel putOnModel1 = null; @@ -357,20 +146,15 @@ bool isSameEquip = false; switch ((RoleEquipType)config.EquipPlace) { case RoleEquipType.FairyCan1: isSameEquip = true; putOnModel1 = playerPack.GetItemByIndex(PackType.Equip, config.EquipPlace); putOnModel2 = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2); break; case RoleEquipType.JadeDynasty_Glove1: isSameEquip = true; putOnModel1 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace); putOnModel2 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2); putOnModel1 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace); putOnModel2 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2); break; case RoleEquipType.JadeDynasty_Ring1: isSameEquip = true; putOnModel1 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace); putOnModel2 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2); putOnModel1 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace); putOnModel2 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2); break; } @@ -379,11 +163,12 @@ if (putOnModel1 != null || putOnModel2 != null) { WindowCenter.Instance.Open<FairyWearWin>(); return; return false; } } CheckSuitReplaceInfo(config.EquipPlace, selectedItem); return true; } public void CheckSuitReplaceInfo(int equipPlace, ItemModel item) @@ -470,20 +255,26 @@ { if (ok) { PutOnEquip(equipPlace, itemIndex, item); PutOnEquip(equipPlace, item.guid); } } ); } else { PutOnEquip(equipPlace, itemIndex, item); PutOnEquip(equipPlace, item.guid); } } public void PutOnEquip(int equipPlace, int itemIndex, ItemModel oldItem) void PutOnEquip(int equipPlace, string guid) { var clientPlaceInfo = EquipSet.ServerPlaceToClientPlace(equipPlace); var oldItem = packModel.GetItemByGuid(equipModel.GetEquip(clientPlaceInfo.x, clientPlaceInfo.y)); if (oldItem != null) { EquipAttrShift(equipPlace, oldItem); } switch ((RoleEquipType)equipPlace) { case RoleEquipType.JadeDynasty_Cloak: @@ -498,28 +289,31 @@ case RoleEquipType.JadeDynasty_Sword2: case RoleEquipType.JadeDynasty_Sword3: case RoleEquipType.JadeDynasty_Sword4: PutOnJadeDynastyEquip(equipPlace, itemIndex); PutOnJadeDynastyEquip(equipPlace, guid); break; default: PutOnNormalEquip(equipPlace, itemIndex); PutOnNormalEquip(equipPlace, guid); break; } SoundPlayer.Instance.PlayUIAudio(24); } private void PutOnNormalEquip(int equipPlace, int itemIndex) private void PutOnNormalEquip(int equipPlace, string guid) { var item = packModel.GetItemByGuid(guid); var putOnEquip = new C0703_tagCEquipItem(); putOnEquip.RoleEquipType = (byte)equipPlace; putOnEquip.ItemIndex = (byte)itemIndex; putOnEquip.ItemIndex = (byte)item.itemPlace; GameNetSystem.Instance.SendInfo(putOnEquip); } private void PutOnJadeDynastyEquip(int equipPlace, int itemIndex) private void PutOnJadeDynastyEquip(int equipPlace, string guid) { var item = packModel.GetItemByGuid(guid); var equipZhuXianItem = new CA330_tagCMEquipZhuXianItem(); equipZhuXianItem.EquipIndex = (byte)(equipPlace - 121); equipZhuXianItem.ItemIndex = (byte)itemIndex; equipZhuXianItem.ItemIndex = (byte)item.itemPlace; GameNetSystem.Instance.SendInfo(equipZhuXianItem); } @@ -533,10 +327,10 @@ switch (packType) { case PackType.JadeDynastyItem: putOnModel = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, equipPlace); putOnModel = packModel.GetItemByIndex(PackType.JadeDynastyEquip, equipPlace); break; default: putOnModel = playerPack.GetItemByIndex(PackType.Equip, equipPlace); putOnModel = packModel.GetItemByIndex(PackType.Equip, equipPlace); break; } @@ -612,7 +406,7 @@ public void PutOffEquip(string guid) { var item = playerPack.GetItemByGuid(guid); var item = packModel.GetItemByGuid(guid); if (item == null) { return; @@ -640,7 +434,7 @@ case RoleEquipType.JadeDynasty_Sword2: case RoleEquipType.JadeDynasty_Sword3: case RoleEquipType.JadeDynasty_Sword4: remainGrid = playerPack.GetEmptyGridCount(PackType.JadeDynastyItem); remainGrid = packModel.GetEmptyGridCount(PackType.JadeDynastyItem); if (remainGrid < 1) { SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_998371"); @@ -652,8 +446,8 @@ } break; default: singlePack = playerPack.GetSinglePack(PackType.Item); remainGrid = playerPack.GetEmptyGridCount(PackType.Item); singlePack = packModel.GetSinglePack(PackType.Item); remainGrid = packModel.GetEmptyGridCount(PackType.Item); if (remainGrid < 1) { SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_998371"); @@ -698,7 +492,7 @@ public void PutInWareHouse(string guid) { var itemModel = playerPack.GetItemByGuid(guid); var itemModel = packModel.GetItemByGuid(guid); if (itemModel == null) { return; @@ -713,7 +507,7 @@ public void TakeOutFromWarehouse(ItemOperateType btnType, string guid) { var itemModel = playerPack.GetItemByGuid(guid); var itemModel = packModel.GetItemByGuid(guid); if (itemModel == null) { return; @@ -732,7 +526,7 @@ public ItemModel useItemModel { get; set; } public void GotoUseItem(int itemIndex) { var singlePack = playerPack.GetSinglePack(PackType.Item); var singlePack = packModel.GetSinglePack(PackType.Item); if (singlePack == null) { return; @@ -760,7 +554,7 @@ case 951: int startLockIndex = singlePack.unlockedGridCount - GeneralDefine.initBagGridCount; int chooseGridCnt = singlePack.unlockedGridCount + GetExtendGridCnt(startLockIndex); playerPack.UnLockPackGrid(chooseGridCnt, PackType.Item); packModel.UnLockPackGrid(chooseGridCnt, PackType.Item); return; case 1506: var crossOneVsOneModel = ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); @@ -770,7 +564,7 @@ } break; } if (playerPack.CheckIsDrugById(useItemModel.itemId)) if (packModel.CheckIsDrugById(useItemModel.itemId)) { if (CheckItemUselimit(useItemModel.itemId)) { @@ -779,7 +573,7 @@ return; } int dungeonID = playerPack.GetDungeonIDByDrugID(useItemModel.itemId); int dungeonID = packModel.GetDungeonIDByDrugID(useItemModel.itemId); if (dungeonID != 0) { MapConfig tagMapModel = MapConfig.Get(PlayerDatas.Instance.baseData.MapID); @@ -837,7 +631,7 @@ private int GetExtendGridCnt(int startLockIndex, int needTool = 0, int extendCnt = 0) { FuncConfigConfig _tagFuncModel = FuncConfigConfig.Get("OpenBagItem"); int haveCount = playerPack.GetItemCountByID(PackType.Item, useItemModel.itemId); int haveCount = packModel.GetItemCountByID(PackType.Item, useItemModel.itemId); startLockIndex += 1; Equation.Instance.Clear(); Equation.Instance.AddKeyValue("index", startLockIndex); @@ -853,7 +647,7 @@ { extendCnt = 1; } int remianLock = GeneralDefine.maxBagGridCount - playerPack.GetSinglePack(PackType.Item).unlockedGridCount; int remianLock = GeneralDefine.maxBagGridCount - packModel.GetSinglePack(PackType.Item).unlockedGridCount; if (extendCnt > remianLock) { extendCnt = remianLock; @@ -897,7 +691,7 @@ if (itemModel.config.Type == 59) { playerPack.GotoWashAttributePoint(itemModel.guid); packModel.GotoWashAttributePoint(itemModel.guid); WindowCenter.Instance.Open<WashAttrPointWin>(); return true; } @@ -953,7 +747,7 @@ } ulong maxValue = 0; playerPack.IsReachUseLimit(itemModel.guid, out maxValue); packModel.IsReachUseLimit(itemModel.guid, out maxValue); if (itemModel.config.BatchUse != 0 && maxValue > 1) { BatchUseModel.Instance.SetBatchModel(itemModel.guid); @@ -1041,7 +835,7 @@ public void UseItem(int index, int useCnt = 1, int extra = 0) { var itemModel = playerPack.GetItemByIndex(PackType.Item, index); var itemModel = packModel.GetItemByIndex(PackType.Item, index); if (itemModel == null) { return; @@ -1070,21 +864,21 @@ public bool CanUseItem(int index, int useCnt, out int error) { var itemModel = playerPack.GetItemByIndex(PackType.Item, index); var itemModel = packModel.GetItemByIndex(PackType.Item, index); if (itemModel == null) { error = 999; return false; } var usedCountToday = playerPack.GetItemUsedTimesToday(itemModel.itemId); var usedCountToday = packModel.GetItemUsedTimesToday(itemModel.itemId); if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= usedCountToday) { error = 1; return false; } var usedCountTotal = playerPack.GetItemTotalUsedTimes(itemModel.itemId); var usedCountTotal = packModel.GetItemTotalUsedTimes(itemModel.itemId); var fruitConfig = AttrFruitConfig.Get(itemModel.itemId); if (fruitConfig != null && (usedCountTotal >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt)) { @@ -1098,7 +892,7 @@ public void UseItemMainServer(int index, int useCnt, int extra) { var itemModel = playerPack.GetItemByIndex(PackType.Item, index); var itemModel = packModel.GetItemByIndex(PackType.Item, index); if (itemModel == null) { return; @@ -1113,7 +907,7 @@ public void UseItemCrossServer(int index) { var itemModel = playerPack.GetItemByIndex(PackType.Item, index); var itemModel = packModel.GetItemByIndex(PackType.Item, index); if (itemModel == null) { return; @@ -1139,15 +933,15 @@ return; } var itemModel = playerPack.GetItemByGuid(guid); var itemModel = packModel.GetItemByGuid(guid); if (itemModel == null) { return; } var packType = GeneralDefine.GetPackTypeByItemType(itemModel.config.Type); var singlePack = playerPack.GetSinglePack(packType); if (playerPack.GetEmptyGridCount(packType) < 1) var singlePack = packModel.GetSinglePack(packType); if (packModel.GetEmptyGridCount(packType) < 1) { SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_676165", packType); } @@ -1166,7 +960,7 @@ #region 上架 public void PutAwayItem(string guid) { var itemModel = playerPack.GetItemByGuid(guid); var itemModel = packModel.GetItemByGuid(guid); if (itemModel == null || itemModel.packType != PackType.Item) { return; @@ -1181,7 +975,7 @@ #region 镶嵌 public void GotoInlayItem(string guid) { var model = playerPack.GetItemByGuid(guid); var model = packModel.GetItemByGuid(guid); var packType = GeneralDefine.GetPackTypeByItemType(model.config.Type); switch (packType) { @@ -1210,10 +1004,10 @@ bool isOverdue = ItemLogicUtility.Instance.IsOverdue(attrData.guid, attrData.itemConfig.ID, attrData.useDataDict); bool isLimit = Math.Floor((double)attrData.itemConfig.JobLimit / 100) == PlayerDatas.Instance.baseData.Job || attrData.itemConfig.JobLimit == 0 ? true : false; var putModel = playerPack.GetItemByIndex(PackType.Equip, attrData.itemConfig.EquipPlace); var putModel = packModel.GetItemByIndex(PackType.Equip, attrData.itemConfig.EquipPlace); if (attrData.itemConfig.EquipPlace == (int)RoleEquipType.FairyCan1) { var fairy2Model = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2); var fairy2Model = packModel.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2); if (fairy2Model == null || putModel == null) { putModel = null; @@ -1319,7 +1113,7 @@ } } int offsetGrid = needGridCnt - playerPack.GetEmptyGridCount(PackType.Item); int offsetGrid = needGridCnt - packModel.GetEmptyGridCount(PackType.Item); if (offsetGrid > 0) { SysNotifyMgr.Instance.ShowTip("BagFull102", attrData.itemConfig.ItemName, offsetGrid); System/KnapSack/Logic/ItemTipsModel.cs
@@ -886,7 +886,7 @@ case ItemWinType.equipWin: case ItemWinType.wingsWin: case ItemWinType.guardWin: attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, attrData.guid); }); attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(attrData.guid); }); break; } @@ -1068,7 +1068,7 @@ switch (attrData.winType) { case ItemWinType.equipWin: attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, attrData.guid); }); attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(attrData.guid); }); break; } } System/KnapSack/Logic/PackModel.cs
@@ -863,7 +863,7 @@ } } public List<ItemModel> GetItems(SinglePack.FilterParams param) public List<ItemModel> GetItems( PackType packType, SinglePack.FilterParams param) { if (playerPackDict.ContainsKey(PackType.Item)) { System/KnapSack/New/FairyWearWin.cs
@@ -30,7 +30,7 @@ #endregion ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } ItemModel curItemModel; #region Built-in @@ -54,27 +54,23 @@ protected override void OnPreOpen() { curItemModel = ItemOperateUtility.Instance.selectedItem; curItemModel = packModel.GetItemByGuid(ItemOperateUtility.Instance.operateItemGuid); if (curItemModel != null) { wear01Img.SetSprite(StringUtility.Contact("EquipPlace_", curItemModel.config.EquipPlace)); wear02Img.SetSprite(StringUtility.Contact("EquipPlace_", curItemModel.config.EquipPlace)); switch (curItemModel.packType) { case PackType.Item: m_ItemModel01 = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan1); m_ItemModel02 = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2); break; case PackType.JadeDynastyItem: if (curItemModel.config.EquipPlace == (int)RoleEquipType.JadeDynasty_Glove1) { m_ItemModel01 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove1); m_ItemModel02 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2); m_ItemModel01 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove1); m_ItemModel02 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2); } else if (curItemModel.config.EquipPlace == (int)RoleEquipType.JadeDynasty_Ring1) { m_ItemModel01 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring1); m_ItemModel02 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2); m_ItemModel01 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring1); m_ItemModel02 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2); } break; } @@ -158,9 +154,6 @@ switch ((RoleEquipType)curItemModel.config.EquipPlace) { case RoleEquipType.FairyCan1: ItemOperateUtility.Instance.CheckSuitReplaceInfo((int)RoleEquipType.FairyCan2, curItemModel); break; case RoleEquipType.JadeDynasty_Glove1: ItemOperateUtility.Instance.CheckSuitReplaceInfo((int)RoleEquipType.JadeDynasty_Glove2, curItemModel); break; System/KnapSack/RealmBetterEquipBehaviour.cs
@@ -57,7 +57,7 @@ private void PutOnBetterEquip() { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, model.currentEquipGuid); ItemOperateUtility.Instance.PutOnItem(model.currentEquipGuid); model.ReportConfirmBetterEquip(model.currentEquipGuid); } System/MainInterfacePanel/DungeonGuardCheckBehaviour.cs
@@ -26,7 +26,7 @@ { if (model.fairyLandItemModel != null) { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, model.fairyLandItemModel.guid); ItemOperateUtility.Instance.PutOnItem(model.fairyLandItemModel.guid); OnClose(); } } System/MainInterfacePanel/LowSettingTip.cs
@@ -7,9 +7,11 @@ using UnityEngine.UI; using System; //底层按钮面板控制 namespace Snxxz.UI { namespace Snxxz.UI { public class LowSettingTip:MonoBehaviour { public class LowSettingTip : MonoBehaviour { [SerializeField] Button _Role1Btn;//角色按钮 [SerializeField] Button _SkillBtn;//技能按钮 [SerializeField] Button _Pet1Btn;//宠物按钮 @@ -43,7 +45,7 @@ m_BagualuBtn.AddListener(OnClickBagualuBtn); m_TreasureSoulBtn.AddListener(OnClickTreasureSoul); m_GodBeastBtn.AddListener(GodBeastBtn); m_JadeDynastyBtn.AddListener(JadeDynastyButton); m_JadeDynastyBtn.AddListener(OpenEquip); } public void UnInit() @@ -109,8 +111,6 @@ } private void GodBeastBtn() { //SysNotifyMgr.Instance.ShowTip("FuncNextVersion");//信息提示 //return; WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<DogzWin>(); } @@ -118,32 +118,25 @@ void Strengthen1Button() { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<EquipReinforceWin>(); //DesignDebug.Log("强化按钮"); } void JadeDynastyButton() { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<JadeDynastyKnapSackWin>(); //DesignDebug.Log("诛仙装备"); WindowCenter.Instance.Open<EquipFrameWin>(false, 0); } void OpenEquip() { WindowCenter.Instance.Close<MainInterfaceWin>(); var equipModel = ModelCenter.Instance.GetModel<EquipModel>(); equipModel.selectedLevel.value = equipModel.GetLastestUnLockEquipSet(); WindowCenter.Instance.Open<RealmEquipWin>(); } void Asuram1Button() { WindowCenter.Instance.Close<MainInterfaceWin>(); ModelCenter.Instance.GetModel<FairyModel>().GotoFairyWin(); //WindowCenter.Instance.Open<UnionPanel>(false, PlayerDatas.Instance.fairyData.HasFairy ? 2 : 3); //DesignDebug.Log("仙盟按钮"); } void Synthesis1Button() { //SysNotifyMgr.Instance.ShowTip("UnopenedFunction"); //DesignDebug.Log("合成按钮"); WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<ComposeWin>(); } @@ -152,24 +145,18 @@ { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<RunePanel>(); //DesignDebug.Log("符印按钮"); } void Pet1Button() { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<PetWin>(); //DesignDebug.Log("宠物按钮"); } void SetUp1Btn() { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<SettingUpWin>(); //SysNotifyMgr.Instance.ShowTip("UnopenedFunction"); //DesignDebug.Log("设置按钮"); } System/Strengthening/GodBeastAttributes.cs
@@ -252,7 +252,7 @@ { for (int i = 0; i < itemModel.Count; i++) { if (itemModel[i].equipPlace == GodBeastPart) if (itemModel[i].config.EquipPlace == GodBeastPart) { ItemCellModel ItemModel = new ItemCellModel(itemModel[i].itemId, true, 0, 0);//默认显示不上锁 m_ItemCell.Init(ItemModel); @@ -522,7 +522,7 @@ { for (int i = 0; i < itemModel.Count; i++) { if (itemModel[i].equipPlace == GodBeastPart) if (itemModel[i].config.EquipPlace == GodBeastPart) { ItemModel = itemModel[i]; } System/Strengthening/GodBeastEntry.cs
@@ -45,7 +45,7 @@ { for (int i = 0; i < itemModel.Count; i++) { if (itemModel[i].equipPlace == godBeastPart) if (itemModel[i].config.EquipPlace == godBeastPart) { ItemCellModel ItemModel = new ItemCellModel(itemModel[i].itemId, true, 0, 0);//不显示绑定 if (godBeastModel.GodBeastRedPointDic.ContainsKey(itemModel[i].itemPlace)) System/Strengthening/GodBeastModel.cs
@@ -132,7 +132,7 @@ int lv = IudetDogzEquipPlus[0]; if (lv > 0) { var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.equipPlace, lv); var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.config.EquipPlace, lv); int[] AttType = DogzEquipConfig.attType; int[] AttValue = DogzEquipConfig.attValue; for (int j = 0; j < AttType.Length; j++) @@ -164,7 +164,7 @@ var IudetDogzEquipPlus = item.GetUseDataModel((int)ItemUseDataKey.dogzEquipPlus); if (IudetDogzEquipPlus != null && IudetDogzEquipPlus[0] > 0) { var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.equipPlace, IudetDogzEquipPlus[0]); var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.config.EquipPlace, IudetDogzEquipPlus[0]); int[] AttType = DogzEquipConfig.attType; int[] AttValue = DogzEquipConfig.attValue; for (int j = 0; j < AttType.Length; j++) System/Strengthening/GodBeastReinforcementWin.cs
@@ -169,7 +169,7 @@ { GodBeastClass godBeastClass = new GodBeastClass(); godBeastClass.GodBeastNumber = key; godBeastClass.GodBeastPart = itemModel[i].equipPlace; godBeastClass.GodBeastPart = itemModel[i].config.EquipPlace; godBeastClass.GodBeastQuality = itemModel[i].config.ItemColor; godBeastClass.GodBeastStar = itemModel[i].config.StarLevel; godBeastClass.EquipScore = itemModel[i].equipScore; @@ -186,7 +186,7 @@ godBeastClass.GodBeastLv = IudetDogzEquipPlus[0]; godBeastClass.GodBeasProficiency = IudetDogzEquipPlus[1]; } godBeastClass.LocationMarker = itemModel[i].equipPlace * 100 + key; godBeastClass.LocationMarker = itemModel[i].config.EquipPlace * 100 + key; GodBeastList.Add(godBeastClass); } } System/Strengthening/GodBeastSlidingList.cs
@@ -212,7 +212,7 @@ godBeastBagClass.Color = itemModel.config.ItemColor; godBeastBagClass.Star = itemModel.config.StarLevel; godBeastBagClass.EquipScore = itemModel.equipScore; godBeastBagClass.Part = itemModel.equipPlace; godBeastBagClass.Part = itemModel.config.EquipPlace; godBeastBagClass.Count = itemModel.count; var IudetDogzEquipPlus = itemModel.GetUseDataModel((int)ItemUseDataKey.dogzEquipPlus);// 神兽装备强化信息列表 [强化等级, 强化熟练度] if (IudetDogzEquipPlus == null) @@ -418,7 +418,7 @@ if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index)) { GodBeastChildNodes.ChoosenImg.SetActive(true); if (itemModel.equipPlace <= 0 && itemModel.count > 1) if (itemModel.config.EquipPlace <= 0 && itemModel.count > 1) { GodBeastChildNodes.NumberNow.gameObject.SetActive(true); GodBeastChildNodes.NumberNow.text = godBeastModel.Absorption_Dic[godBeastBagClass.Index].ToString() + "/" + itemModel.count; @@ -426,7 +426,7 @@ } else { if (itemModel.equipPlace <= 0 && itemModel.count > 1) if (itemModel.config.EquipPlace <= 0 && itemModel.count > 1) { GodBeastChildNodes.NumberNow.gameObject.SetActive(true); GodBeastChildNodes.NumberNow.text = itemModel.count.ToString(); @@ -435,7 +435,7 @@ GodBeastChildNodes.GetGodBeastIndex(godBeastBagClass.Index); GodBeastChildNodes.ButtonDown.AddListener(() => { if (itemModel.equipPlace > 0)//选中的物品为装备 if (itemModel.config.EquipPlace > 0)//选中的物品为装备 { if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index)) { System/Strengthening/WingsBouncedWin.cs
@@ -109,7 +109,7 @@ _WingButton.WingBG.AddListener(() => { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putIn, model.guid); ItemOperateUtility.Instance.PutOnItem(model.guid); //string strJob = tagItem.JobLimit.ToString(); //if (_ReincarnationLv >= int.Parse(strJob.Substring(strJob.Length - 1, 1))) Utility/ConfigInitiator.cs
@@ -53,8 +53,8 @@ { PriorTasks(); NormalTasks(); minWorkingTask = 1; //GetMinWorkingTaskCount(); maxWorkingTask = 1; //GetMaxWorkingTaskCount(); minWorkingTask = GetMinWorkingTaskCount(); maxWorkingTask = GetMaxWorkingTaskCount(); completeCount = 0; priorTaskCount = priorTasks.Count; Utility/VesselExtension.cs
@@ -10,4 +10,9 @@ return vessel == null || vessel.Count == 0; } public static bool IsNullOrEmpty<T>(this T[] vessel) { return vessel == null || vessel.Length == 0; } }