From a7c531aa353dae5b40b3c47f37211666ed0250a6 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 25 二月 2019 15:11:17 +0800
Subject: [PATCH] 3335 物品相关类型重构
---
System/Strengthening/WingsRedDotModel.cs | 485 ++++++++++++++++++++++++++---------------------------
1 files changed, 240 insertions(+), 245 deletions(-)
diff --git a/System/Strengthening/WingsRedDot.cs b/System/Strengthening/WingsRedDotModel.cs
similarity index 83%
rename from System/Strengthening/WingsRedDot.cs
rename to System/Strengthening/WingsRedDotModel.cs
index bef3be5..f66aa7d 100644
--- a/System/Strengthening/WingsRedDot.cs
+++ b/System/Strengthening/WingsRedDotModel.cs
@@ -1,245 +1,240 @@
-锘�//--------------------------------------------------------
-// [Author]: 绗簩涓栫晫
-// [ Date ]: Monday, November 20, 2017
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using UnityEngine.UI;
-using System;
-using System.Collections.Generic;
-
-using Snxxz.UI;
-//缈呰唨绮剧偧绾㈢偣
-namespace Snxxz.UI
-{
-
- [XLua.LuaCallCSharp]
- public class WingsRedDot : Model, IPlayerLoginOk, IBeforePlayerDataInitialize
- {
- private const int Redpoint_key = 10603;
- public Redpoint redPointStre = new Redpoint(MainRedDot.RedPoint_key1, Redpoint_key);
- private int WingNumber = 0;//缈呰唨鏁伴噺鏍囪
- private int Marking = 0;
- private bool IsOnePutOn = true;
- public bool IsBoolOpenWingeWin = false;
- PackModel _playerPack;
- PackModel playerPack
- {
- get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); }
- }
-
- public override void Init()
- {
-
- }
- public void OnPlayerLoginOk()
- {
-
- playerPack.itemCntAddEvent += ItemCntAddAct;//鐗╁搧鏁伴噺澧炲姞
- playerPack.itemCntReduceEvent += ItemCntReduceAct;//鐗╁搧鏁伴噺鍑忓皯
- FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
- ItemModel itemModel = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
- if (IsOnePutOn)
- {
- WingsDot();
- }
- if (itemModel != null)
- {
- IsOnePutOn = false;
- }
-
- }
- public void OnBeforePlayerDataInitialize()
- {
- playerPack.itemCntAddEvent -= ItemCntAddAct;//鐗╁搧鏁伴噺澧炲姞
- FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
- playerPack.itemCntReduceEvent -= ItemCntReduceAct;//鐗╁搧鏁伴噺鍑忓皯
- }
-
-
-
- public override void UnInit()
- {
-
- }
-
-
-
- private void OnFuncStateChange(int obj)
- {
- if (obj == 90)
- {
- WingsDot();
- }
- }
-
- public class WingsInformation
- {
- public int WingsID;
- public int WingsCount;
- }
- private Dictionary<int, WingsInformation> _dicWings = new Dictionary<int, WingsInformation>();
- private List<WingRefineAttrConfig> WingRefineAttr = new List<WingRefineAttrConfig>();
- public void WingsDot()
- {
- redPointStre.state = RedPointState.None;
- ItemModel itemModel = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
-
- if (itemModel == null || !FuncOpen.Instance.IsFuncOpen(90))
- {
- WingNumber = 0;
- Marking = 0;
- return;
- }
- var WingItemA = WingRefineExpConfig.Get(itemModel.itemId);
- if (WingItemA == null)
- {
- WingNumber = 0;
- Marking = 0;
- return;
- }
- SinglePack singlePackModel = playerPack.GetSinglePack(PackType.Item);
- Dictionary<int, ItemModel> backpack_dic = singlePackModel.GetAllItems();
-
- List<int> wingsRefinelist = itemModel.GetUseDataModel((int)ItemUseDataKey.wingProgressValue);
- if (wingsRefinelist != null)
- {
- var config = WingRefineExpConfig.Get((int)itemModel.itemId);
- int WingsPhase = config.WingsPhase;//鑾峰彇缈呰唨闃舵暟
- if (WingRefineAttr.Count <= 0)
- {
- WingRefineAttr = WingRefineAttrConfig.GetValues();
- }
- //var WingRefineAttr = WingRefineAttrConfig.GetValues();
- int Max = 0;
- foreach (var value in WingRefineAttr)
- {
- if (value.wingsPhase == WingsPhase)
- {
- Max = value.EXPupper;//鏈�澶х簿鐐煎害
- }
- }
- int Now = wingsRefinelist[0];
- if (Now >= Max)
- {
- WingNumber = 0;
- Marking = 0;
- return;
- }
- }
- _dicWings.Clear();
- foreach (int index in backpack_dic.Keys)
- {
- var item = backpack_dic[index];
- var itemId = item.itemId;
- if (WingRefineExpConfig.Has(itemId) && ItemConfig.IsWing(itemId))
- {
- var _WingsInformation = new WingsInformation();
- _WingsInformation.WingsID = itemId;
- _WingsInformation.WingsCount = item.count;
- _dicWings.Add(index, _WingsInformation);
- }
- }
-
- var config1 = WingRefineExpConfig.Get((int)itemModel.itemId);
- foreach (var key in _dicWings.Keys)
- {
- var wings = ItemConfig.Get(_dicWings[key].WingsID);
- if (wings.EndureReduceType != 0)
- {
- return;
- }
- var config2 = WingRefineExpConfig.Get(_dicWings[key].WingsID);
- if (config1.WingsPhase >= config2.WingsPhase)
- {
- WingNumber += playerPack.GetItemCountByID(PackType.Item, _dicWings[key].WingsID);
- }
- }
- if (IsBoolOpenWingeWin)
- {
- return;
- }
- if (WingNumber > Marking && FuncOpen.Instance.IsFuncOpen(90))
- {
- Marking = WingNumber;
- redPointStre.state = RedPointState.Simple;
- return;
- }
- else
- {
- Marking = WingNumber;
- }
- }
- private void ItemCntAddAct(PackType arg1, int ItemIndex, int ItemID)//鐗╁搧鏁伴噺澧炲姞
- {
-
- if (arg1 == PackType.Item)//鐗╁搧鑳屽寘鐗╁搧澧炲姞
- {
- ItemBagAdd(ItemIndex, ItemID);
- }
- if (arg1 == PackType.Equip)//瑁呭鑳屽寘鐗╁搧澧炲姞
- {
- ItemModel itemModel = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
- if (IsOnePutOn)
- {
- WingsDot();
- }
- if (itemModel != null)
- {
- IsOnePutOn = false;
- }
- }
- }
-
- private void ItemBagAdd(int ItemIndex, int ItemID)//鐗╁搧鑳屽寘鏁伴噺娣诲姞
- {
- ItemModel ItemModel = playerPack.GetItemByIndex(PackType.Item, ItemIndex);
- int ItemCount = ItemModel.preItemCount;
- var WingItem = WingRefineExpConfig.Get(ItemModel.itemId);
- if (IsBoolOpenWingeWin || WingItem == null)
- {
- return;
- }
- if (_dicWings.ContainsKey(ItemIndex))
- {
- if (ItemCount > _dicWings[ItemIndex].WingsCount)
- {
- _dicWings[ItemIndex].WingsCount = ItemCount;
- redPointStre.state = RedPointState.Simple;
- }
- else
- {
- _dicWings[ItemIndex].WingsCount = ItemCount;
- }
- }
- }
- private void ItemCntReduceAct(PackType arg1, int Index, int ItemID)
- {
- if (arg1 == PackType.Item)//鐗╁搧鑳屽寘鐗╁搧鍑忓皯
- {
- var WingItem = WingRefineExpConfig.Get(ItemID);
- if (WingItem != null && _dicWings.ContainsKey(Index))
- {
- _dicWings.Remove(Index);
- if (_dicWings.Count <= 0 && redPointStre.state == RedPointState.Simple)
- {
- redPointStre.state = RedPointState.None;
- return;
- }
- }
- }
- if (arg1 == PackType.Equip)//瑁呭鑴变笅
- {
- ItemModel itemModel = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
- if (itemModel == null && redPointStre.state == RedPointState.Simple)
- {
- redPointStre.state = RedPointState.None;
- return;
- }
- }
- }
- }
-}
-
-
-
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Monday, November 20, 2017
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+using System;
+using System.Collections.Generic;
+using Snxxz.UI;
+//缈呰唨绮剧偧绾㈢偣
+namespace Snxxz.UI
+{
+
+ [XLua.LuaCallCSharp]
+ public class WingsRedDotModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize
+ {
+ private const int Redpoint_key = 10603;
+ public Redpoint redPointStre = new Redpoint(MainRedDot.RedPoint_key1, Redpoint_key);
+ private int WingNumber = 0;//缈呰唨鏁伴噺鏍囪
+ private int Marking = 0;
+ private bool IsOnePutOn = true;
+ public bool IsBoolOpenWingeWin = false;
+
+ PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
+
+ public override void Init()
+ {
+
+ }
+ public void OnPlayerLoginOk()
+ {
+ packModel.itemCntAddEvent += ItemCntAddAct;//鐗╁搧鏁伴噺澧炲姞
+ packModel.itemCntReduceEvent += ItemCntReduceAct;//鐗╁搧鏁伴噺鍑忓皯
+ FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
+ ItemModel itemModel = packModel.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
+ if (IsOnePutOn)
+ {
+ WingsDot();
+ }
+ if (itemModel != null)
+ {
+ IsOnePutOn = false;
+ }
+
+ }
+ public void OnBeforePlayerDataInitialize()
+ {
+ packModel.itemCntAddEvent -= ItemCntAddAct;//鐗╁搧鏁伴噺澧炲姞
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
+ packModel.itemCntReduceEvent -= ItemCntReduceAct;//鐗╁搧鏁伴噺鍑忓皯
+ }
+
+
+
+ public override void UnInit()
+ {
+
+ }
+
+
+
+ private void OnFuncStateChange(int obj)
+ {
+ if (obj == 90)
+ {
+ WingsDot();
+ }
+ }
+
+ public class WingsInformation
+ {
+ public int WingsID;
+ public int WingsCount;
+ }
+ private Dictionary<int, WingsInformation> _dicWings = new Dictionary<int, WingsInformation>();
+ private List<WingRefineAttrConfig> WingRefineAttr = new List<WingRefineAttrConfig>();
+ public void WingsDot()
+ {
+ redPointStre.state = RedPointState.None;
+ ItemModel itemModel = packModel.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
+
+ if (itemModel == null || !FuncOpen.Instance.IsFuncOpen(90))
+ {
+ WingNumber = 0;
+ Marking = 0;
+ return;
+ }
+ var WingItemA = WingRefineExpConfig.Get(itemModel.itemId);
+ if (WingItemA == null)
+ {
+ WingNumber = 0;
+ Marking = 0;
+ return;
+ }
+ SinglePack singlePackModel = packModel.GetSinglePack(PackType.Item);
+ Dictionary<int, ItemModel> backpack_dic = singlePackModel.GetAllItems();
+
+ List<int> wingsRefinelist = itemModel.GetUseDataModel((int)ItemUseDataKey.wingProgressValue);
+ if (wingsRefinelist != null)
+ {
+ var config = WingRefineExpConfig.Get((int)itemModel.itemId);
+ int WingsPhase = config.WingsPhase;//鑾峰彇缈呰唨闃舵暟
+ if (WingRefineAttr.Count <= 0)
+ {
+ WingRefineAttr = WingRefineAttrConfig.GetValues();
+ }
+ //var WingRefineAttr = WingRefineAttrConfig.GetValues();
+ int Max = 0;
+ foreach (var value in WingRefineAttr)
+ {
+ if (value.wingsPhase == WingsPhase)
+ {
+ Max = value.EXPupper;//鏈�澶х簿鐐煎害
+ }
+ }
+ int Now = wingsRefinelist[0];
+ if (Now >= Max)
+ {
+ WingNumber = 0;
+ Marking = 0;
+ return;
+ }
+ }
+ _dicWings.Clear();
+ foreach (int index in backpack_dic.Keys)
+ {
+ var item = backpack_dic[index];
+ var itemId = item.itemId;
+ if (WingRefineExpConfig.Has(itemId) && ItemConfig.IsWing(itemId))
+ {
+ var _WingsInformation = new WingsInformation();
+ _WingsInformation.WingsID = itemId;
+ _WingsInformation.WingsCount = item.count;
+ _dicWings.Add(index, _WingsInformation);
+ }
+ }
+
+ var config1 = WingRefineExpConfig.Get((int)itemModel.itemId);
+ foreach (var key in _dicWings.Keys)
+ {
+ var wings = ItemConfig.Get(_dicWings[key].WingsID);
+ if (wings.EndureReduceType != 0)
+ {
+ return;
+ }
+ var config2 = WingRefineExpConfig.Get(_dicWings[key].WingsID);
+ if (config1.WingsPhase >= config2.WingsPhase)
+ {
+ WingNumber += packModel.GetItemCountByID(PackType.Item, _dicWings[key].WingsID);
+ }
+ }
+ if (IsBoolOpenWingeWin)
+ {
+ return;
+ }
+ if (WingNumber > Marking && FuncOpen.Instance.IsFuncOpen(90))
+ {
+ Marking = WingNumber;
+ redPointStre.state = RedPointState.Simple;
+ return;
+ }
+ else
+ {
+ Marking = WingNumber;
+ }
+ }
+ private void ItemCntAddAct(PackType arg1, int ItemIndex, int ItemID)//鐗╁搧鏁伴噺澧炲姞
+ {
+
+ if (arg1 == PackType.Item)//鐗╁搧鑳屽寘鐗╁搧澧炲姞
+ {
+ ItemBagAdd(ItemIndex, ItemID);
+ }
+ if (arg1 == PackType.Equip)//瑁呭鑳屽寘鐗╁搧澧炲姞
+ {
+ ItemModel itemModel = packModel.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
+ if (IsOnePutOn)
+ {
+ WingsDot();
+ }
+ if (itemModel != null)
+ {
+ IsOnePutOn = false;
+ }
+ }
+ }
+
+ private void ItemBagAdd(int ItemIndex, int ItemID)//鐗╁搧鑳屽寘鏁伴噺娣诲姞
+ {
+ ItemModel ItemModel = packModel.GetItemByIndex(PackType.Item, ItemIndex);
+ int ItemCount = ItemModel.preItemCount;
+ var WingItem = WingRefineExpConfig.Get(ItemModel.itemId);
+ if (IsBoolOpenWingeWin || WingItem == null)
+ {
+ return;
+ }
+ if (_dicWings.ContainsKey(ItemIndex))
+ {
+ if (ItemCount > _dicWings[ItemIndex].WingsCount)
+ {
+ _dicWings[ItemIndex].WingsCount = ItemCount;
+ redPointStre.state = RedPointState.Simple;
+ }
+ else
+ {
+ _dicWings[ItemIndex].WingsCount = ItemCount;
+ }
+ }
+ }
+ private void ItemCntReduceAct(PackType arg1, int Index, int ItemID)
+ {
+ if (arg1 == PackType.Item)//鐗╁搧鑳屽寘鐗╁搧鍑忓皯
+ {
+ var WingItem = WingRefineExpConfig.Get(ItemID);
+ if (WingItem != null && _dicWings.ContainsKey(Index))
+ {
+ _dicWings.Remove(Index);
+ if (_dicWings.Count <= 0 && redPointStre.state == RedPointState.Simple)
+ {
+ redPointStre.state = RedPointState.None;
+ return;
+ }
+ }
+ }
+ if (arg1 == PackType.Equip)//瑁呭鑴变笅
+ {
+ ItemModel itemModel = packModel.GetItemByIndex(PackType.Equip, (int)RoleEquipType.Wing);
+ if (itemModel == null && redPointStre.state == RedPointState.Simple)
+ {
+ redPointStre.state = RedPointState.None;
+ return;
+ }
+ }
+ }
+ }
+}
+
+
+
--
Gitblit v1.8.0