From a7f4c5ecc5268c49f6a6caf769b3ebee6f237662 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 六月 2025 18:52:55 +0800
Subject: [PATCH] 目录迁移 整理
---
Main/System/KnapSack/VirtualPackManager.cs | 726 +++++++++++++++++++++++++++---------------------------
1 files changed, 363 insertions(+), 363 deletions(-)
diff --git a/Main/Manager/GameSystemManager/VirtualPackManager.cs b/Main/System/KnapSack/VirtualPackManager.cs
similarity index 99%
rename from Main/Manager/GameSystemManager/VirtualPackManager.cs
rename to Main/System/KnapSack/VirtualPackManager.cs
index 8e17701..70e23e9 100644
--- a/Main/Manager/GameSystemManager/VirtualPackManager.cs
+++ b/Main/System/KnapSack/VirtualPackManager.cs
@@ -1,363 +1,363 @@
-锘縰sing System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Text;
-
-using UnityEngine;
-namespace vnxbqy.UI
-{
-
- public class VirtualPackManager : GameSystemManager<VirtualPackManager>
- {
- Dictionary<PackType, List<VirtualPackItem>> virtualPackItems
- = new Dictionary<PackType, List<VirtualPackItem>>();
- Dictionary<PackType, ObjectPool<VirtualPackItem>> m_VirtualItemPool
- = new Dictionary<PackType, ObjectPool<VirtualPackItem>>();
- Dictionary<PackType, int> virtualPackCapacityDict = new Dictionary<PackType, int>();
-
- public event Action<PackType> virtualPackRefresh;
- int getA206Count = 0; //鏀跺埌浜嗗嚑娆206鍖�
- bool isFrist = false; //鏄笉鏄涓�娆¤幏寰楄仛榄傜鐗�
- Dictionary<int, int> noPackItemCountDict = new Dictionary<int, int>(); //鏃犻渶鑳屽寘鐨勭墿鍝佹暟閲忓埛鏂帮紝鑷姩杞寲涓烘暟鍊�
- public event Action OnNoPackItemCountRefresh;
-
- public void OnBeforePlayerDataInitialize()
- {
- foreach (var packType in virtualPackItems.Keys)
- {
- var pool = m_VirtualItemPool[packType];
- var items = virtualPackItems[packType];
- foreach (var item in items)
- {
- pool.Release(item);
- }
- }
- virtualPackItems.Clear();
- noPackItemCountDict.Clear();
- getA206Count = 0;
- isFrist = false;
- }
-
- public void OnPlayerLoginOk()
- {
- isFrist = noPackItemCountDict.Count == 0;
- }
-
- public override void Init()
- {
- base.Init();
- ParseConfig();
- m_VirtualItemPool.Add(PackType.GatherSoul, new ObjectPool<VirtualPackItem>(OnGetItem, OnReleaseItem));
- m_VirtualItemPool.Add(PackType.RunePack, new ObjectPool<VirtualPackItem>(OnGetItem, OnReleaseItem));
- DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
- DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
- }
-
- public override void Release()
- {
- base.Release();
- DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
- DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
- }
-
- void ParseConfig()
- {
- var funcConfig = FuncConfigConfig.Get("RunePackageNum");
- virtualPackCapacityDict.Add(PackType.RunePack, int.Parse(funcConfig.Numerical1));
- }
-
- public bool IsVirtualPack(PackType packType)
- {
- switch (packType)
- {
- case PackType.GatherSoul:
- case PackType.RunePack:
- return true;
- }
- return false;
- }
-
- public int GetPackCapacity(PackType packType)
- {
- if (virtualPackCapacityDict.ContainsKey(packType))
- {
- return virtualPackCapacityDict[packType];
- }
- return 0;
- }
-
- public int GetPackRemainCount(PackType packType)
- {
- var capacity = GetPackCapacity(packType);
- return capacity - GetPackItemCount(packType);
- }
-
- public int GetPackItemCount(PackType packType)
- {
- if (virtualPackItems.ContainsKey(packType))
- {
- return virtualPackItems[packType].Count;
- }
- return 0;
- }
-
- public int GetItemCountById(PackType packType, int id)
- {
- var count = 0;
- List<int> list;
- if (TryGetItems(packType, out list))
- {
- for (int i = 0; i < list.Count; i++)
- {
- VirtualPackItem item;
- if (TryGetItem(packType, list[i], out item)
- && item.id == id)
- {
- count++;
- }
- }
- }
- return count;
- }
-
- public void GetItemIndexs(PackType packType, ref List<int> list)
- {
- list.Clear();
- List<VirtualPackItem> _list;
- if (virtualPackItems.TryGetValue(packType, out _list))
- {
- for (int i = 0; i < _list.Count; i++)
- {
- list.Add(_list[i].index);
- }
- }
- }
-
- public bool TryGetItems(PackType packType, out List<int> list)
- {
- list = new List<int>();
- List<VirtualPackItem> _list;
- if (virtualPackItems.TryGetValue(packType, out _list))
- {
- for (int i = 0; i < _list.Count; i++)
- {
- list.Add(_list[i].index);
- }
- return true;
- }
- return false;
- }
-
- public bool TryGetItem<T>(PackType packType, int packIndex, out T item) where T : VirtualPackItem
- {
- item = default(T);
- if (virtualPackItems.ContainsKey(packType))
- {
- var _index = virtualPackItems[packType].FindIndex((x) =>
- {
- return x.index == packIndex;
- });
- if (_index != -1)
- {
- item = virtualPackItems[packType][_index] as T;
- }
- return _index != -1;
- }
- return false;
- }
-
- public void OnReceiveServerPack(HA204_tagMCVPackRefresh package)
- {
- var packType = (PackType)package.PackType;
- if (!IsVirtualPack(packType))
- {
- return;
- }
- List<VirtualPackItem> list;
- if (!virtualPackItems.TryGetValue(packType, out list))
- {
- list = new List<VirtualPackItem>();
- virtualPackItems.Add(packType, list);
- }
- SetVirtualItem(packType, ref list, package.VPacklItemList);
- if (virtualPackRefresh != null)
- {
- virtualPackRefresh((PackType)package.PackType);
- }
-
- }
-
- public void OnReceiveServerPack(HA205_tagMCVPackClear package)
- {
- var packType = (PackType)package.PackType;
- if (!IsVirtualPack(packType))
- {
- return;
- }
- List<VirtualPackItem> list;
- if (virtualPackItems.TryGetValue(packType, out list))
- {
- var pool = m_VirtualItemPool[packType];
- for (int i = 0; i < package.Count; i++)
- {
- var index = package.ItemPlaceList[i];
- var items = list.FindAll((x) =>
- {
- return x.index == index;
- });
- foreach (var item in items)
- {
- list.Remove(item);
- pool.Release(item);
- }
- }
- if (virtualPackRefresh != null)
- {
- virtualPackRefresh(packType);
- }
- }
- }
-
-
- public void UpdateAutoItemCountRefresh(HA206_tagMCAutoItemCountRefresh netPack)
- {
-
- ShowRewardWin(netPack);//vNetData涓璉temCount浼犵殑鏄鐗囨�绘暟锛岄渶瑕佸湪noPackItemCountDict鍐欏叆鏁版嵁涔嬪墠璁$畻宸��
- for (int i = 0; i < netPack.Count; i++)
- {
- noPackItemCountDict[(int)netPack.ItemCountList[i].ItemID] = (int)netPack.ItemCountList[i].ItemCount;
- }
- OnNoPackItemCountRefresh?.Invoke();
- }
-
- void ShowRewardWin(HA206_tagMCAutoItemCountRefresh vNetData)
- {
- getA206Count += 1;
- if (ItemLogicUtility.Instance.hidePickItem)
- return;
- // if (ModelCenter.Instance.GetModel<GatheringSoulModel>().isOpenXBWin)
- // return;
- if (getA206Count <= 1 && !isFrist)
- return;
-
- for (int i = 0; i < vNetData.ItemCountList.Length; i++)
- {
- int itemID = (int)vNetData.ItemCountList[i].ItemID;
- int itemCount = (int)vNetData.ItemCountList[i].ItemCount;
- if (noPackItemCountDict.ContainsKey(itemID) && noPackItemCountDict[itemID] > itemCount)
- return;
- ItemLogicUtility.Instance.RefreshPickItem(PackType.Item, itemID.ToString());
- }
- }
-
-
- public int GetNoPackItemCount(int id)
- {
- if (noPackItemCountDict.ContainsKey(id))
- {
- return noPackItemCountDict[id];
- }
- return 0;
- }
-
- public Dictionary<int, int> GetAllNoPackItem()
- {
- return noPackItemCountDict;
- }
-
-
-
- void SetVirtualItem(PackType packType, ref List<VirtualPackItem> list, HA204_tagMCVPackRefresh.tagMCVPackItem[] items)
- {
- var pool = m_VirtualItemPool[packType];
- for (int i = 0; i < items.Length; i++)
- {
- var item = list.Find((x) =>
- {
- return x.index == items[i].ItemPlace;
- });
- if (item != null)
- {
- item.Release();
- }
- else
- {
- if (pool.inactivedCount > 0)
- {
- item = pool.Get();
- list.Add(item);
- }
- }
- if (item == null)
- {
- item = VirtualPackItem.Get(packType);
- list.Add(item);
- }
- item.ParsePackItem(items[i].ItemPlace, items[i].ItemData);
-
- ItemLogicUtility.Instance.RefreshPickItem(packType, item.id.ToString());
- }
- }
-
- static void OnGetItem(VirtualPackItem item)
- {
-
- }
-
- static void OnReleaseItem(VirtualPackItem item)
- {
- item.Release();
- }
- }
-
- public abstract class VirtualPackItem
- {
- public int index { get; private set; }
-
- public int id { get; private set; }
-
- public int level { get; private set; }
-
- protected string dataString { get; set; }
-
- protected static StringBuilder sb = new StringBuilder();
-
- public virtual void ParsePackItem(int index, uint data)
- {
- this.index = index;
-
- dataString = data.ToString();
- int delta = 10 - dataString.Length;
- sb.Length = 0;
- sb.Append('0', delta);
- dataString = dataString.Insert(0, sb.ToString());
-
- id = int.Parse(dataString.Substring(5, 5));
- level = int.Parse(dataString.Substring(2, 3)) + 1;
- }
-
- public virtual void Release()
- {
- dataString = null;
- }
-
- public static VirtualPackItem Get(PackType packType)
- {
- // switch (packType)
- // {
- // case PackType.RunePack:
- // return new RuneItem();
- // }
- return null;
- }
- }
-
- public struct VirtualItem
- {
- public PackType packType;
- public int itemId;
- public int index;
- public int level;
- }
-}
-
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+
+using UnityEngine;
+namespace vnxbqy.UI
+{
+
+ public class VirtualPackManager : GameSystemManager<VirtualPackManager>
+ {
+ Dictionary<PackType, List<VirtualPackItem>> virtualPackItems
+ = new Dictionary<PackType, List<VirtualPackItem>>();
+ Dictionary<PackType, ObjectPool<VirtualPackItem>> m_VirtualItemPool
+ = new Dictionary<PackType, ObjectPool<VirtualPackItem>>();
+ Dictionary<PackType, int> virtualPackCapacityDict = new Dictionary<PackType, int>();
+
+ public event Action<PackType> virtualPackRefresh;
+ int getA206Count = 0; //鏀跺埌浜嗗嚑娆206鍖�
+ bool isFrist = false; //鏄笉鏄涓�娆¤幏寰楄仛榄傜鐗�
+ Dictionary<int, int> noPackItemCountDict = new Dictionary<int, int>(); //鏃犻渶鑳屽寘鐨勭墿鍝佹暟閲忓埛鏂帮紝鑷姩杞寲涓烘暟鍊�
+ public event Action OnNoPackItemCountRefresh;
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ foreach (var packType in virtualPackItems.Keys)
+ {
+ var pool = m_VirtualItemPool[packType];
+ var items = virtualPackItems[packType];
+ foreach (var item in items)
+ {
+ pool.Release(item);
+ }
+ }
+ virtualPackItems.Clear();
+ noPackItemCountDict.Clear();
+ getA206Count = 0;
+ isFrist = false;
+ }
+
+ public void OnPlayerLoginOk()
+ {
+ isFrist = noPackItemCountDict.Count == 0;
+ }
+
+ public override void Init()
+ {
+ base.Init();
+ ParseConfig();
+ m_VirtualItemPool.Add(PackType.GatherSoul, new ObjectPool<VirtualPackItem>(OnGetItem, OnReleaseItem));
+ m_VirtualItemPool.Add(PackType.RunePack, new ObjectPool<VirtualPackItem>(OnGetItem, OnReleaseItem));
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
+ }
+
+ public override void Release()
+ {
+ base.Release();
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
+ }
+
+ void ParseConfig()
+ {
+ var funcConfig = FuncConfigConfig.Get("RunePackageNum");
+ virtualPackCapacityDict.Add(PackType.RunePack, int.Parse(funcConfig.Numerical1));
+ }
+
+ public bool IsVirtualPack(PackType packType)
+ {
+ switch (packType)
+ {
+ case PackType.GatherSoul:
+ case PackType.RunePack:
+ return true;
+ }
+ return false;
+ }
+
+ public int GetPackCapacity(PackType packType)
+ {
+ if (virtualPackCapacityDict.ContainsKey(packType))
+ {
+ return virtualPackCapacityDict[packType];
+ }
+ return 0;
+ }
+
+ public int GetPackRemainCount(PackType packType)
+ {
+ var capacity = GetPackCapacity(packType);
+ return capacity - GetPackItemCount(packType);
+ }
+
+ public int GetPackItemCount(PackType packType)
+ {
+ if (virtualPackItems.ContainsKey(packType))
+ {
+ return virtualPackItems[packType].Count;
+ }
+ return 0;
+ }
+
+ public int GetItemCountById(PackType packType, int id)
+ {
+ var count = 0;
+ List<int> list;
+ if (TryGetItems(packType, out list))
+ {
+ for (int i = 0; i < list.Count; i++)
+ {
+ VirtualPackItem item;
+ if (TryGetItem(packType, list[i], out item)
+ && item.id == id)
+ {
+ count++;
+ }
+ }
+ }
+ return count;
+ }
+
+ public void GetItemIndexs(PackType packType, ref List<int> list)
+ {
+ list.Clear();
+ List<VirtualPackItem> _list;
+ if (virtualPackItems.TryGetValue(packType, out _list))
+ {
+ for (int i = 0; i < _list.Count; i++)
+ {
+ list.Add(_list[i].index);
+ }
+ }
+ }
+
+ public bool TryGetItems(PackType packType, out List<int> list)
+ {
+ list = new List<int>();
+ List<VirtualPackItem> _list;
+ if (virtualPackItems.TryGetValue(packType, out _list))
+ {
+ for (int i = 0; i < _list.Count; i++)
+ {
+ list.Add(_list[i].index);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ public bool TryGetItem<T>(PackType packType, int packIndex, out T item) where T : VirtualPackItem
+ {
+ item = default(T);
+ if (virtualPackItems.ContainsKey(packType))
+ {
+ var _index = virtualPackItems[packType].FindIndex((x) =>
+ {
+ return x.index == packIndex;
+ });
+ if (_index != -1)
+ {
+ item = virtualPackItems[packType][_index] as T;
+ }
+ return _index != -1;
+ }
+ return false;
+ }
+
+ public void OnReceiveServerPack(HA204_tagMCVPackRefresh package)
+ {
+ var packType = (PackType)package.PackType;
+ if (!IsVirtualPack(packType))
+ {
+ return;
+ }
+ List<VirtualPackItem> list;
+ if (!virtualPackItems.TryGetValue(packType, out list))
+ {
+ list = new List<VirtualPackItem>();
+ virtualPackItems.Add(packType, list);
+ }
+ SetVirtualItem(packType, ref list, package.VPacklItemList);
+ if (virtualPackRefresh != null)
+ {
+ virtualPackRefresh((PackType)package.PackType);
+ }
+
+ }
+
+ public void OnReceiveServerPack(HA205_tagMCVPackClear package)
+ {
+ var packType = (PackType)package.PackType;
+ if (!IsVirtualPack(packType))
+ {
+ return;
+ }
+ List<VirtualPackItem> list;
+ if (virtualPackItems.TryGetValue(packType, out list))
+ {
+ var pool = m_VirtualItemPool[packType];
+ for (int i = 0; i < package.Count; i++)
+ {
+ var index = package.ItemPlaceList[i];
+ var items = list.FindAll((x) =>
+ {
+ return x.index == index;
+ });
+ foreach (var item in items)
+ {
+ list.Remove(item);
+ pool.Release(item);
+ }
+ }
+ if (virtualPackRefresh != null)
+ {
+ virtualPackRefresh(packType);
+ }
+ }
+ }
+
+
+ public void UpdateAutoItemCountRefresh(HA206_tagMCAutoItemCountRefresh netPack)
+ {
+
+ ShowRewardWin(netPack);//vNetData涓璉temCount浼犵殑鏄鐗囨�绘暟锛岄渶瑕佸湪noPackItemCountDict鍐欏叆鏁版嵁涔嬪墠璁$畻宸��
+ for (int i = 0; i < netPack.Count; i++)
+ {
+ noPackItemCountDict[(int)netPack.ItemCountList[i].ItemID] = (int)netPack.ItemCountList[i].ItemCount;
+ }
+ OnNoPackItemCountRefresh?.Invoke();
+ }
+
+ void ShowRewardWin(HA206_tagMCAutoItemCountRefresh vNetData)
+ {
+ getA206Count += 1;
+ if (ItemLogicUtility.Instance.hidePickItem)
+ return;
+ // if (ModelCenter.Instance.GetModel<GatheringSoulModel>().isOpenXBWin)
+ // return;
+ if (getA206Count <= 1 && !isFrist)
+ return;
+
+ for (int i = 0; i < vNetData.ItemCountList.Length; i++)
+ {
+ int itemID = (int)vNetData.ItemCountList[i].ItemID;
+ int itemCount = (int)vNetData.ItemCountList[i].ItemCount;
+ if (noPackItemCountDict.ContainsKey(itemID) && noPackItemCountDict[itemID] > itemCount)
+ return;
+ ItemLogicUtility.Instance.RefreshPickItem(PackType.Item, itemID.ToString());
+ }
+ }
+
+
+ public int GetNoPackItemCount(int id)
+ {
+ if (noPackItemCountDict.ContainsKey(id))
+ {
+ return noPackItemCountDict[id];
+ }
+ return 0;
+ }
+
+ public Dictionary<int, int> GetAllNoPackItem()
+ {
+ return noPackItemCountDict;
+ }
+
+
+
+ void SetVirtualItem(PackType packType, ref List<VirtualPackItem> list, HA204_tagMCVPackRefresh.tagMCVPackItem[] items)
+ {
+ var pool = m_VirtualItemPool[packType];
+ for (int i = 0; i < items.Length; i++)
+ {
+ var item = list.Find((x) =>
+ {
+ return x.index == items[i].ItemPlace;
+ });
+ if (item != null)
+ {
+ item.Release();
+ }
+ else
+ {
+ if (pool.inactivedCount > 0)
+ {
+ item = pool.Get();
+ list.Add(item);
+ }
+ }
+ if (item == null)
+ {
+ item = VirtualPackItem.Get(packType);
+ list.Add(item);
+ }
+ item.ParsePackItem(items[i].ItemPlace, items[i].ItemData);
+
+ ItemLogicUtility.Instance.RefreshPickItem(packType, item.id.ToString());
+ }
+ }
+
+ static void OnGetItem(VirtualPackItem item)
+ {
+
+ }
+
+ static void OnReleaseItem(VirtualPackItem item)
+ {
+ item.Release();
+ }
+ }
+
+ public abstract class VirtualPackItem
+ {
+ public int index { get; private set; }
+
+ public int id { get; private set; }
+
+ public int level { get; private set; }
+
+ protected string dataString { get; set; }
+
+ protected static StringBuilder sb = new StringBuilder();
+
+ public virtual void ParsePackItem(int index, uint data)
+ {
+ this.index = index;
+
+ dataString = data.ToString();
+ int delta = 10 - dataString.Length;
+ sb.Length = 0;
+ sb.Append('0', delta);
+ dataString = dataString.Insert(0, sb.ToString());
+
+ id = int.Parse(dataString.Substring(5, 5));
+ level = int.Parse(dataString.Substring(2, 3)) + 1;
+ }
+
+ public virtual void Release()
+ {
+ dataString = null;
+ }
+
+ public static VirtualPackItem Get(PackType packType)
+ {
+ // switch (packType)
+ // {
+ // case PackType.RunePack:
+ // return new RuneItem();
+ // }
+ return null;
+ }
+ }
+
+ public struct VirtualItem
+ {
+ public PackType packType;
+ public int itemId;
+ public int index;
+ public int level;
+ }
+}
+
--
Gitblit v1.8.0