|
@@ -1,35 +1,17 @@
|
|
using System.Collections.Generic;
|
|
using System.Collections.Generic;
|
|
|
|
+using ET;
|
|
using FairyGUI;
|
|
using FairyGUI;
|
|
using UnityEngine;
|
|
using UnityEngine;
|
|
|
|
+using static UnityEditor.Progress;
|
|
|
|
|
|
namespace GFGGame
|
|
namespace GFGGame
|
|
{
|
|
{
|
|
public class ItemDataManager
|
|
public class ItemDataManager
|
|
{
|
|
{
|
|
private static Dictionary<int, ItemData> _dataDic = new Dictionary<int, ItemData>();
|
|
private static Dictionary<int, ItemData> _dataDic = new Dictionary<int, ItemData>();
|
|
- private static Dictionary<int, int> _prepareDic = new Dictionary<int, int>();
|
|
|
|
|
|
|
|
- public static void Add(int itemID, int itemNum, bool sendToServer = true)
|
|
|
|
|
|
+ public static void Add(int itemID, int itemNum)
|
|
{
|
|
{
|
|
- switch (itemID)
|
|
|
|
- {
|
|
|
|
- case ConstItemID.EXP:
|
|
|
|
- RoleDataManager.exp += itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.POWER:
|
|
|
|
- RoleDataManager.power += itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.GOLD:
|
|
|
|
- RoleDataManager.gold += itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.DIAMOND_PURPLE:
|
|
|
|
- RoleDataManager.diaP += itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.DIAMOND_RED:
|
|
|
|
- RoleDataManager.diaR += itemNum;
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
|
|
if (itemCfg == null)
|
|
if (itemCfg == null)
|
|
{
|
|
{
|
|
@@ -52,7 +34,7 @@ namespace GFGGame
|
|
_dataDic.Add(itemID, itemData);
|
|
_dataDic.Add(itemID, itemData);
|
|
}
|
|
}
|
|
itemData.num += itemNum;
|
|
itemData.num += itemNum;
|
|
- if (ItemUtil.IsDressUpItem(itemID) && itemID % GameConst.MAX_COUNT_EVERY_TYPE_ITEM > 0)
|
|
|
|
|
|
+ if (ItemUtilCS.IsDressUpItem(itemID) && itemID % GameConst.MAX_COUNT_EVERY_TYPE_ITEM > 0)
|
|
{
|
|
{
|
|
DressUpMenuItemDataManager.Add(itemID);
|
|
DressUpMenuItemDataManager.Add(itemID);
|
|
}
|
|
}
|
|
@@ -68,33 +50,11 @@ namespace GFGGame
|
|
DecomposeDataManager.Instance.Add(itemID);
|
|
DecomposeDataManager.Instance.Add(itemID);
|
|
}
|
|
}
|
|
PhotographDataManager.Instance.Add(itemID);
|
|
PhotographDataManager.Instance.Add(itemID);
|
|
- if (sendToServer)
|
|
|
|
- {
|
|
|
|
- PrepareUpdateToServer(itemData.id, itemData.num);
|
|
|
|
- }
|
|
|
|
EventAgent.DispatchEvent(ConstMessage.ITEM_CHANGED, itemID);
|
|
EventAgent.DispatchEvent(ConstMessage.ITEM_CHANGED, itemID);
|
|
}
|
|
}
|
|
|
|
|
|
public static void Remove(int itemID, int itemNum)
|
|
public static void Remove(int itemID, int itemNum)
|
|
{
|
|
{
|
|
- switch (itemID)
|
|
|
|
- {
|
|
|
|
- case ConstItemID.EXP:
|
|
|
|
- RoleDataManager.exp -= itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.POWER:
|
|
|
|
- RoleDataManager.power -= itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.GOLD:
|
|
|
|
- RoleDataManager.gold -= itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.DIAMOND_PURPLE:
|
|
|
|
- RoleDataManager.diaP -= itemNum;
|
|
|
|
- return;
|
|
|
|
- case ConstItemID.DIAMOND_RED:
|
|
|
|
- RoleDataManager.diaR -= itemNum;
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
if (_dataDic.ContainsKey(itemID))
|
|
if (_dataDic.ContainsKey(itemID))
|
|
{
|
|
{
|
|
ItemData itemData = _dataDic[itemID];
|
|
ItemData itemData = _dataDic[itemID];
|
|
@@ -105,12 +65,10 @@ namespace GFGGame
|
|
itemData.num = 0;
|
|
itemData.num = 0;
|
|
_dataDic.Remove(itemID);
|
|
_dataDic.Remove(itemID);
|
|
|
|
|
|
- if (ItemUtil.IsDressUpItem(itemID))
|
|
|
|
|
|
+ if (ItemUtilCS.IsDressUpItem(itemID))
|
|
{
|
|
{
|
|
DressUpMenuItemDataManager.Remove(itemID);
|
|
DressUpMenuItemDataManager.Remove(itemID);
|
|
}
|
|
}
|
|
-
|
|
|
|
- PrepareUpdateToServer(itemData.id, itemData.num);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
|
|
@@ -122,69 +80,29 @@ namespace GFGGame
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- public static int GetItemNum(int itemID)
|
|
|
|
- {
|
|
|
|
- switch (itemID)
|
|
|
|
- {
|
|
|
|
- case ConstItemID.EXP:
|
|
|
|
- return RoleDataManager.exp;
|
|
|
|
- case ConstItemID.POWER:
|
|
|
|
- return RoleDataManager.power;
|
|
|
|
- case ConstItemID.GOLD:
|
|
|
|
- return RoleDataManager.gold;
|
|
|
|
- case ConstItemID.DIAMOND_PURPLE:
|
|
|
|
- return RoleDataManager.diaP;
|
|
|
|
- case ConstItemID.DIAMOND_RED:
|
|
|
|
- return RoleDataManager.diaR;
|
|
|
|
|
|
+ public static int GetItemNum(int itemId)
|
|
|
|
+{
|
|
|
|
+ int numericType = NumericUtil.GetNumericTypeByItemId(itemId);
|
|
|
|
+ if (numericType != 0)
|
|
|
|
+ {
|
|
|
|
+ return GameGlobal.myNumericComponent.GetAsInt(numericType);
|
|
}
|
|
}
|
|
- if (_dataDic.ContainsKey(itemID))
|
|
|
|
|
|
+ if (_dataDic.TryGetValue(itemId, out var itemData))
|
|
{
|
|
{
|
|
- ItemData itemData = _dataDic[itemID];
|
|
|
|
return itemData.num;
|
|
return itemData.num;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
- public static void InitServerData(List<RoleItem> list)
|
|
|
|
|
|
+ public static void InitServerData(List<ItemInfoProto> items)
|
|
{
|
|
{
|
|
_dataDic.Clear();
|
|
_dataDic.Clear();
|
|
- _prepareDic.Clear();
|
|
|
|
- if (list != null)
|
|
|
|
|
|
+ foreach (ItemInfoProto roleItem in items)
|
|
{
|
|
{
|
|
- foreach (RoleItem roleItem in list)
|
|
|
|
- {
|
|
|
|
- Add(roleItem.itemId, roleItem.num, false);
|
|
|
|
- }
|
|
|
|
|
|
+ Add(roleItem.ConfigId, roleItem.Count);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private static void PrepareUpdateToServer(int itemId, int itemNum)
|
|
|
|
- {
|
|
|
|
- _prepareDic[itemId] = itemNum;
|
|
|
|
- if (!Timers.inst.Exists(UpdateToServer))
|
|
|
|
- {
|
|
|
|
- Timers.inst.Add(0.1f, 1, UpdateToServer);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private static void UpdateToServer(object param)
|
|
|
|
- {
|
|
|
|
- List<RoleItem> list = new List<RoleItem>();
|
|
|
|
- foreach (KeyValuePair<int, int> item in _prepareDic)
|
|
|
|
- {
|
|
|
|
- RoleItem roleItem = new RoleItem();
|
|
|
|
- roleItem.itemId = item.Key;
|
|
|
|
- roleItem.num = item.Value;
|
|
|
|
- list.Add(roleItem);
|
|
|
|
- }
|
|
|
|
- GameProxy.ReqUpdateRoleItems(list);
|
|
|
|
- _prepareDic.Clear();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public static Dictionary<int, ItemData> GetItemDic()
|
|
|
|
- {
|
|
|
|
- return _dataDic;
|
|
|
|
- }
|
|
|
|
public static void GetMainScore(int itemId, out int mainScore, out int mainScoreValue)
|
|
public static void GetMainScore(int itemId, out int mainScore, out int mainScoreValue)
|
|
{
|
|
{
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
|