From a87120c155c48fa45b20a97c1a58bdbeb77318b7 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期三, 20 二月 2019 16:54:13 +0800
Subject: [PATCH] 3335 物品相关类型重构
---
System/KnapSack/Logic/SinglePackModel.cs | 88 +++++++++++++++++++------------------------
1 files changed, 39 insertions(+), 49 deletions(-)
diff --git a/System/KnapSack/Logic/SinglePackModel.cs b/System/KnapSack/Logic/SinglePackModel.cs
index 8bb3f7b..a02bac5 100644
--- a/System/KnapSack/Logic/SinglePackModel.cs
+++ b/System/KnapSack/Logic/SinglePackModel.cs
@@ -8,28 +8,16 @@
{
public class SinglePackModel
{
-
- public PackType packType { get; private set; }
+ public readonly PackType type;
public int openGridCount { get; private set; }
- private Dictionary<int, ItemModel> packModelIndexDict = new Dictionary<int, ItemModel>(); //key 鐗╁搧浣嶇疆绱㈠紩
+ private Dictionary<int, ItemModel> items = new Dictionary<int, ItemModel>(); //key 鐗╁搧浣嶇疆绱㈠紩
- PackModelInterface _modelInterface;
- PackModelInterface modelInterface
- {
- get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
- }
-
- PlayerPackModel _playerPack;
- PlayerPackModel playerPack
- {
- get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
- }
+ PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
+ PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
public SinglePackModel(PackType type)
{
- ClearPackModel();
- openGridCount = 0;
- packType = type;
+ this.type = type;
}
/// <summary>
@@ -37,19 +25,21 @@
/// </summary>
/// <param name="itemInfo"></param>
/// <param name="type"></param>
- public void SetPackModel(ItemInfo itemInfo)
+ public void UpdateItem(ItemInfo itemInfo)
{
- if (!packModelIndexDict.ContainsKey(itemInfo.ItemPlace))
+ var index = itemInfo.ItemPlace;
+ if (!items.ContainsKey(index))
{
- ItemModel itemModel = new ItemModel(packType);
+ var itemModel = new ItemModel(type);
itemModel.SetItemInfo(itemInfo);
- packModelIndexDict.Add(itemInfo.ItemPlace, itemModel);
+ items.Add(index, itemModel);
}
else
{
- packModelIndexDict[itemInfo.ItemPlace].SetItemInfo(itemInfo);
+ items[index].SetItemInfo(itemInfo);
}
- playerPack.SetItemGUIDDict(packModelIndexDict[itemInfo.ItemPlace]);
+
+ playerPack.SetItemGUIDDict(items[index]);
}
public void SetOpenGridCount(int count)
@@ -57,10 +47,9 @@
openGridCount = count;
}
-
- public ItemModel GetItemModelByIndex(int index)
+ public ItemModel GetItemByIndex(int index)
{
- switch (packType)
+ switch (type)
{
case PackType.JadeDynastyEquip:
if (index >= 121)
@@ -69,25 +58,26 @@
}
break;
}
- ItemModel itemModel = null;
- packModelIndexDict.TryGetValue(index, out itemModel);
- return itemModel;
+
+ ItemModel item = null;
+ items.TryGetValue(index, out item);
+ return item;
}
- public Dictionary<int, ItemModel> GetPackModelIndexDict()
+ public Dictionary<int, ItemModel> GetAllItems()
{
- return packModelIndexDict;
+ return items;
}
/// <summary>
/// 寰楀埌姝D鐗╁搧鐨勬墍鏈夋暟閲�
/// </summary>
/// <returns></returns>
- public int GetItemCountByID(int itemId,out List<ItemModel> list)
+ public int GetItemCountByID(int itemId, out List<ItemModel> list)
{
int count = 0;
list = new List<ItemModel>();
- foreach (ItemModel model in packModelIndexDict.Values)
+ foreach (var model in items.Values)
{
if (model.itemId == itemId)
{
@@ -106,7 +96,7 @@
public int GetItemCountByID(int itemId)
{
int count = 0;
- foreach (ItemModel model in packModelIndexDict.Values)
+ foreach (ItemModel model in items.Values)
{
if (model.itemId == itemId)
{
@@ -127,7 +117,7 @@
{
int count = 0;
list = new List<ItemModel>();
- foreach (ItemModel model in packModelIndexDict.Values)
+ foreach (ItemModel model in items.Values)
{
if (model.config.Type == itemType)
{
@@ -146,7 +136,7 @@
public List<int> GetItemsByQuality(int _quality)
{
var itemList = new List<int>();
- foreach (var value in packModelIndexDict.Values)
+ foreach (var value in items.Values)
{
if (value.config.ItemColor == _quality)
{
@@ -168,7 +158,7 @@
{
List<int> itemIndexlist = new List<int>();
List<ItemModel> itemModellist = new List<ItemModel>();
- foreach (ItemModel model in packModelIndexDict.Values)
+ foreach (ItemModel model in items.Values)
{
if (model.itemId == itemId)
{
@@ -182,7 +172,7 @@
int count = 0;
for (i = 0; i < itemModellist.Count; i++)
{
- if(count < needCount)
+ if (count < needCount)
{
itemIndexlist.Add(itemModellist[i].itemPlace);
count += itemModellist[i].count;
@@ -191,7 +181,7 @@
{
break;
}
-
+
}
return itemIndexlist;
@@ -203,11 +193,11 @@
/// <param name="itemId"></param>
/// <param name="isBind"></param>
/// <returns></returns>
- public List<int> ItemIndexlistByIsBind(int itemId,int needCnt,int isBind)
+ public List<int> ItemIndexlistByIsBind(int itemId, int needCnt, int isBind)
{
List<int> itemIndexlist = new List<int>();
List<ItemModel> itemModellist = new List<ItemModel>();
- foreach (ItemModel model in packModelIndexDict.Values)
+ foreach (ItemModel model in items.Values)
{
if (model.itemId == itemId)
{
@@ -218,9 +208,9 @@
int count = 0;
for (int i = 0; i < itemModellist.Count; i++)
{
- if(count < needCnt)
+ if (count < needCnt)
{
- if(itemModellist[i].isBind == isBind)
+ if (itemModellist[i].isBind == isBind)
{
itemIndexlist.Add(itemModellist[i].itemPlace);
count += itemModellist[i].count;
@@ -268,9 +258,9 @@
public int GetNullGridIndex()
{
int i = -1;
- for(i = 0; i < openGridCount; i++)
+ for (i = 0; i < openGridCount; i++)
{
- if(!packModelIndexDict.ContainsKey(i))
+ if (!items.ContainsKey(i))
{
return i;
}
@@ -285,19 +275,19 @@
/// <returns></returns>
public int GetRemainGridCount()
{
- return openGridCount - packModelIndexDict.Count;
+ return openGridCount - items.Count;
}
public void ClearItemModelByIndex(int index)
{
- if (packModelIndexDict.ContainsKey(index))
+ if (items.ContainsKey(index))
{
- packModelIndexDict.Remove(index);
+ items.Remove(index);
}
}
public void ClearPackModel()
{
- packModelIndexDict.Clear();
+ items.Clear();
}
}
}
--
Gitblit v1.8.0