From 522ca3468a56c88cb15eaa428eb7499d3dba386f Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 23 八月 2018 11:44:27 +0800
Subject: [PATCH] 2805【前端】超值礼包新增显示仙玉余额
---
System/BetterItemGet/BetterEquipGetModel.cs | 617 ++++++++++++++++++++++++++++----------------------------
1 files changed, 309 insertions(+), 308 deletions(-)
diff --git a/System/BetterItemGet/BetterEquipGetModel.cs b/System/BetterItemGet/BetterEquipGetModel.cs
index b287bc6..d7d4853 100644
--- a/System/BetterItemGet/BetterEquipGetModel.cs
+++ b/System/BetterItemGet/BetterEquipGetModel.cs
@@ -1,308 +1,309 @@
-锘�//--------------------------------------------------------
-// [Author]: 绗簩涓栫晫
-// [ Date ]: Saturday, January 20, 2018
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using System.Collections.Generic;
-using System;
-using TableConfig;
-
-namespace Snxxz.UI
-{
- public class BetterEquipGetModel : Model, IBeforePlayerDataInitialize, ISwitchAccount
- {
- PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
- PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
- DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
-
- public string currentEquipGuid { get; private set; }
-
- Dictionary<string, ItemModel> betterEquipModels = new Dictionary<string, ItemModel>();
-
- public event Action showEquipRefreshEvent;
-
- public override void Init()
- {
- modelInterface.RefreshGetBetterEquipEvent += OnGetBetterEquip;
- playerPack.RefreshPackAct += OnPackageRefresh;
- playerPack.RefreshItemCountAct += OnPackageItemRefresh;
- }
-
- public override void UnInit()
- {
- modelInterface.RefreshGetBetterEquipEvent -= OnGetBetterEquip;
- playerPack.RefreshPackAct -= OnPackageRefresh;
- playerPack.RefreshItemCountAct -= OnPackageItemRefresh;
- }
-
- public void OnBeforePlayerDataInitialize()
- {
- }
-
- public void OnSwitchAccount()
- {
- currentEquipGuid = string.Empty;
- }
-
- public bool TryGetBetterEquip(string _guid, out ItemModel _equip)
- {
- return betterEquipModels.TryGetValue(_guid, out _equip);
- }
-
- public void ReportConfirmBetterEquip(string _guid)
- {
- betterEquipModels.Remove(_guid);
-
- var tempGuid = GetOneEquip();
- if (tempGuid != currentEquipGuid)
- {
- currentEquipGuid = tempGuid;
- if (showEquipRefreshEvent != null)
- {
- showEquipRefreshEvent();
- }
- }
- }
-
- public int GetShowItemQuality()
- {
- if (string.IsNullOrEmpty(currentEquipGuid))
- {
- return 0;
- }
- else
- {
- ItemModel item;
- if (TryGetBetterEquip(currentEquipGuid, out item))
- {
- return item.chinItemModel.ItemColor;
- }
- else
- {
- return 0;
- }
- }
- }
-
- public int GetShowEquipPlace()
- {
- if (string.IsNullOrEmpty(currentEquipGuid))
- {
- return 0;
- }
- else
- {
- ItemModel item;
- if (TryGetBetterEquip(currentEquipGuid, out item))
- {
- return item.chinItemModel.EquipPlace;
- }
- else
- {
- return 0;
- }
- }
- }
-
- private void OnGetBetterEquip(string guid)
- {
- var betterModel = playerPack.GetItemModelByGUID(guid);
- ItemModel oldBetterEquip = null;
- if (TryGetEquipByPlace(betterModel.chinItemModel.EquipPlace, out oldBetterEquip))
- {
- var oldGrade = oldBetterEquip != null ? oldBetterEquip.equipScore : 0;
- if (betterModel.equipScore >= oldGrade)
- {
- RemoveItemByEquipPlace(betterModel.chinItemModel.EquipPlace);
- }
- }
-
- betterEquipModels[guid] = betterModel;
- if (guid != currentEquipGuid)
- {
- if (!string.IsNullOrEmpty(guid))
- {
- var sourcelist = betterModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetSource);
- if (sourcelist != null && sourcelist[0] == 4)
- {
- SnxxzGame.Instance.StartCoroutine(Co_DelayRefreshBetterEquip(guid));
- }
- else
- {
- currentEquipGuid = guid;
- if (showEquipRefreshEvent != null)
- {
- showEquipRefreshEvent();
- }
- }
- }
- else
- {
- currentEquipGuid = guid;
- if (showEquipRefreshEvent != null)
- {
- showEquipRefreshEvent();
- }
- }
- }
- }
-
- IEnumerator Co_DelayRefreshBetterEquip(string _guid)
- {
- yield return WaitingForSecondConst.WaitMS2000;
- currentEquipGuid = _guid;
- if (showEquipRefreshEvent != null)
- {
- showEquipRefreshEvent();
- }
- }
-
- private void OnPackageRefresh(PackType _packType)
- {
- if (_packType != PackType.rptItem)
- {
- return;
- }
-
- var keys = new List<string>(betterEquipModels.Keys);
- for (int i = keys.Count - 1; i >= 0; i--)
- {
- var guid = keys[i];
- var itemModel = playerPack.GetItemModelByGUID(guid);
- if (itemModel == null || itemModel.packType != PackType.rptItem)
- {
- betterEquipModels.Remove(guid);
- }
- }
-
- var tempGuid = GetOneEquip();
- if (tempGuid != currentEquipGuid)
- {
- if (!string.IsNullOrEmpty(tempGuid))
- {
- var itemModel = playerPack.GetItemModelByGUID(tempGuid);
- var sourcelist = itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetSource);
- if (sourcelist != null && sourcelist[0] == 4)
- {
- SnxxzGame.Instance.StartCoroutine(Co_DelayRefreshBetterEquip(tempGuid));
- }
- else
- {
- currentEquipGuid = tempGuid;
- if (showEquipRefreshEvent != null)
- {
- showEquipRefreshEvent();
- }
- }
- }
- else
- {
- currentEquipGuid = tempGuid;
- if (showEquipRefreshEvent != null)
- {
- showEquipRefreshEvent();
- }
- }
- }
- }
-
- private void OnPackageItemRefresh(PackType _packType, int _index, int _itemId)
- {
- if (_packType == PackType.rptEquip)
- {
- //绌夸笂瑁呭鐨勬椂鍊欑殑澶勭悊
- var item = playerPack.GetItemModelByIndex(_packType, _index);
- if (item != null)
- {
- RemoveLowGradeItemByEquipPlace(_index, item.equipScore);
- }
- }
- else if (_packType == PackType.rptItem)
- {
- OnPackageRefresh(_packType);
- }
- }
-
- private string GetOneEquip()
- {
- var guid = string.Empty;
- foreach (var key in betterEquipModels.Keys)
- {
- guid = key;
- break;
- }
-
- return guid;
- }
-
- private void RemoveItemByEquipPlace(int _place)
- {
- var place = _place == 10 ? 9 : _place;
- var keys = new List<string>(betterEquipModels.Keys);
- for (int i = keys.Count - 1; i >= 0; i--)
- {
- var item = betterEquipModels[keys[i]];
- if (item != null && item.chinItemModel.EquipPlace == place)
- {
- betterEquipModels.Remove(keys[i]);
- }
- }
- }
-
- private void RemoveLowGradeItemByEquipPlace(int _place, int _score)
- {
- var place = _place == 10 ? 9 : _place;
- var keys = new List<string>(betterEquipModels.Keys);
- for (int i = keys.Count - 1; i >= 0; i--)
- {
- var item = betterEquipModels[keys[i]];
- if (item != null && item.chinItemModel.EquipPlace == place && item.equipScore <= _score)
- {
- betterEquipModels.Remove(keys[i]);
- }
- }
- }
-
- private bool TryGetEquipByPlace(int _place, out ItemModel _itemModel)
- {
- var place = _place == 10 ? 9 : _place;
- var keys = new List<string>(betterEquipModels.Keys);
- for (int i = keys.Count - 1; i >= 0; i--)
- {
- var item = betterEquipModels[keys[i]];
- if (item != null && item.chinItemModel.EquipPlace == place)
- {
- _itemModel = item;
- return true;
- }
- }
-
- _itemModel = null;
- return false;
- }
-
- public bool ShowBetterEquipAble()
- {
- var mapId = PlayerDatas.Instance.baseData.MapID;
- var lineId = PlayerDatas.Instance.baseData.dungeonLineId;
- var dungeonId = dungeonModel.DungeonMap(dungeonModel.GetDungeonDataIdByMapId(mapId), lineId);
- if (dungeonId == 0)
- {
- return true;
- }
- else
- {
- var config = ConfigManager.Instance.GetTemplate<DungeonConfig>(dungeonId);
- return config.ShowNewItemTip == 1;
- }
-
- }
-
-
- }
-
-}
-
-
-
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Saturday, January 20, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using System;
+using TableConfig;
+
+namespace Snxxz.UI
+{
+ public class BetterEquipGetModel : Model, IBeforePlayerDataInitialize, ISwitchAccount
+ {
+ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
+ PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
+ DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+
+ public string currentEquipGuid { get; private set; }
+
+ Dictionary<string, ItemModel> betterEquipModels = new Dictionary<string, ItemModel>();
+
+ public event Action showEquipRefreshEvent;
+
+ public override void Init()
+ {
+ modelInterface.RefreshGetBetterEquipEvent += OnGetBetterEquip;
+ playerPack.RefreshPackAct += OnPackageRefresh;
+ playerPack.RefreshItemCountAct += OnPackageItemRefresh;
+ }
+
+ public override void UnInit()
+ {
+ modelInterface.RefreshGetBetterEquipEvent -= OnGetBetterEquip;
+ playerPack.RefreshPackAct -= OnPackageRefresh;
+ playerPack.RefreshItemCountAct -= OnPackageItemRefresh;
+ }
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ }
+
+ public void OnSwitchAccount()
+ {
+ currentEquipGuid = string.Empty;
+ }
+
+ public bool TryGetBetterEquip(string _guid, out ItemModel _equip)
+ {
+ return betterEquipModels.TryGetValue(_guid, out _equip);
+ }
+
+ public void ReportConfirmBetterEquip(string _guid)
+ {
+ betterEquipModels.Remove(_guid);
+
+ var tempGuid = GetOneEquip();
+ if (tempGuid != currentEquipGuid)
+ {
+ currentEquipGuid = tempGuid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+
+ public int GetShowItemQuality()
+ {
+ if (string.IsNullOrEmpty(currentEquipGuid))
+ {
+ return 0;
+ }
+ else
+ {
+ ItemModel item;
+ if (TryGetBetterEquip(currentEquipGuid, out item))
+ {
+ return item.chinItemModel.ItemColor;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ }
+
+ public int GetShowEquipPlace()
+ {
+ if (string.IsNullOrEmpty(currentEquipGuid))
+ {
+ return 0;
+ }
+ else
+ {
+ ItemModel item;
+ if (TryGetBetterEquip(currentEquipGuid, out item))
+ {
+ return item.chinItemModel.EquipPlace;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ }
+
+ private void OnGetBetterEquip(string guid)
+ {
+ var betterModel = playerPack.GetItemModelByGUID(guid);
+ ItemModel oldBetterEquip = null;
+ if (TryGetEquipByPlace(betterModel.chinItemModel.EquipPlace, out oldBetterEquip))
+ {
+ var oldGrade = oldBetterEquip != null ? oldBetterEquip.equipScore : 0;
+ if (betterModel.equipScore >= oldGrade)
+ {
+ RemoveItemByEquipPlace(betterModel.chinItemModel.EquipPlace);
+ }
+ }
+
+ betterEquipModels[guid] = betterModel;
+ if (guid != currentEquipGuid)
+ {
+ if (!string.IsNullOrEmpty(guid))
+ {
+ var sourcelist = betterModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetSource);
+ if (sourcelist != null && sourcelist[0] == 4)
+ {
+ SnxxzGame.Instance.StartCoroutine(Co_DelayRefreshBetterEquip(guid));
+ }
+ else
+ {
+ currentEquipGuid = guid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+ else
+ {
+ currentEquipGuid = guid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+ }
+
+ IEnumerator Co_DelayRefreshBetterEquip(string _guid)
+ {
+ yield return WaitingForSecondConst.WaitMS2000;
+ currentEquipGuid = _guid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+
+ private void OnPackageRefresh(PackType _packType)
+ {
+ if (_packType != PackType.rptItem)
+ {
+ return;
+ }
+
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var guid = keys[i];
+ var itemModel = playerPack.GetItemModelByGUID(guid);
+ if (itemModel == null || itemModel.packType != PackType.rptItem)
+ {
+ betterEquipModels.Remove(guid);
+ }
+ }
+
+ var tempGuid = GetOneEquip();
+ if (tempGuid != currentEquipGuid)
+ {
+ if (!string.IsNullOrEmpty(tempGuid))
+ {
+ var itemModel = playerPack.GetItemModelByGUID(tempGuid);
+ var sourcelist = itemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetSource);
+ if (sourcelist != null && sourcelist[0] == 4)
+ {
+ SnxxzGame.Instance.StartCoroutine(Co_DelayRefreshBetterEquip(tempGuid));
+ }
+ else
+ {
+ currentEquipGuid = tempGuid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+ else
+ {
+ currentEquipGuid = tempGuid;
+ if (showEquipRefreshEvent != null)
+ {
+ showEquipRefreshEvent();
+ }
+ }
+ }
+ }
+
+ private void OnPackageItemRefresh(PackType _packType, int _index, int _itemId)
+ {
+ if (_packType == PackType.rptEquip)
+ {
+ //绌夸笂瑁呭鐨勬椂鍊欑殑澶勭悊
+ var item = playerPack.GetItemModelByIndex(_packType, _index);
+ if (item != null)
+ {
+ RemoveLowGradeItemByEquipPlace(_index, item.equipScore);
+ }
+ OnPackageRefresh(PackType.rptItem);
+ }
+ else if (_packType == PackType.rptItem)
+ {
+ OnPackageRefresh(_packType);
+ }
+ }
+
+ private string GetOneEquip()
+ {
+ var guid = string.Empty;
+ foreach (var key in betterEquipModels.Keys)
+ {
+ guid = key;
+ break;
+ }
+
+ return guid;
+ }
+
+ private void RemoveItemByEquipPlace(int _place)
+ {
+ var place = _place == 10 ? 9 : _place;
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var item = betterEquipModels[keys[i]];
+ if (item != null && item.chinItemModel.EquipPlace == place)
+ {
+ betterEquipModels.Remove(keys[i]);
+ }
+ }
+ }
+
+ private void RemoveLowGradeItemByEquipPlace(int _place, int _score)
+ {
+ var place = _place == 10 ? 9 : _place;
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var item = betterEquipModels[keys[i]];
+ if (item != null && item.chinItemModel.EquipPlace == place && item.equipScore <= _score)
+ {
+ betterEquipModels.Remove(keys[i]);
+ }
+ }
+ }
+
+ private bool TryGetEquipByPlace(int _place, out ItemModel _itemModel)
+ {
+ var place = _place == 10 ? 9 : _place;
+ var keys = new List<string>(betterEquipModels.Keys);
+ for (int i = keys.Count - 1; i >= 0; i--)
+ {
+ var item = betterEquipModels[keys[i]];
+ if (item != null && item.chinItemModel.EquipPlace == place)
+ {
+ _itemModel = item;
+ return true;
+ }
+ }
+
+ _itemModel = null;
+ return false;
+ }
+
+ public bool ShowBetterEquipAble()
+ {
+ var mapId = PlayerDatas.Instance.baseData.MapID;
+ var lineId = PlayerDatas.Instance.baseData.dungeonLineId;
+ var dungeonId = dungeonModel.DungeonMap(dungeonModel.GetDungeonDataIdByMapId(mapId), lineId);
+ if (dungeonId == 0)
+ {
+ return true;
+ }
+ else
+ {
+ var config = Config.Instance.Get<DungeonConfig>(dungeonId);
+ return config.ShowNewItemTip == 1;
+ }
+
+ }
+
+
+ }
+
+}
+
+
+
--
Gitblit v1.8.0