155 lines
4.2 KiB
C#
155 lines
4.2 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using static UnityEditor.Progress;
|
|
|
|
public class ItemManager
|
|
{
|
|
public ItemBox box;
|
|
public ItemManager(List<DeckUnitInfo> deckUnitInfo, List<Equipment> equipment, List<ConsumableItem> consumableItem, List<EtcItem> etcItem)
|
|
{
|
|
box = new ItemBox(deckUnitInfo, equipment, consumableItem, etcItem);
|
|
}
|
|
}
|
|
public class ItemBox
|
|
{
|
|
List<DeckUnitInfo> _deckUnitInfo;
|
|
public List<DeckUnitInfo> deckUnitInfo { get { return _deckUnitInfo; } }
|
|
List<Equipment> _equipment;
|
|
public List<Equipment> equipment { get { return _equipment; } }
|
|
List<ConsumableItem> _consumableItem;
|
|
public List<ConsumableItem> consumableItem { get { return _consumableItem; } }
|
|
List<EtcItem> _etcItem;
|
|
public List<EtcItem> etcItem { get { return _etcItem; } }
|
|
public ItemBox(List<DeckUnitInfo> deckUnitInfo, List<Equipment> equipment, List<ConsumableItem> consumableItem, List<EtcItem> etcItem)
|
|
{
|
|
if (deckUnitInfo == null)
|
|
_deckUnitInfo = new List<DeckUnitInfo>();
|
|
else
|
|
_deckUnitInfo = deckUnitInfo.OrderBy(n => n.unit_data_id).ToList();
|
|
|
|
if (equipment == null)
|
|
_equipment = new List<Equipment>();
|
|
else
|
|
_equipment = equipment.OrderBy(n => n.id).ToList();
|
|
|
|
if (consumableItem == null)
|
|
_consumableItem = new List<ConsumableItem>();
|
|
else
|
|
_consumableItem = consumableItem.OrderBy(n => n.id).ToList();
|
|
|
|
if (etcItem == null)
|
|
_etcItem = new List<EtcItem>();
|
|
else
|
|
_etcItem = etcItem.OrderBy(n => n.id).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// À¯´Ö ¹Ýȯ
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public DeckUnitInfo FindDeckUnitInfo(long id)
|
|
{
|
|
return _deckUnitInfo.Find(n => n.id == id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// À¯´Ö index¹Ýȯ
|
|
/// </summary>
|
|
/// <param name="unit_data_id"></param>
|
|
/// <returns></returns>
|
|
public int FindIndexDeckUnitInfo(long unit_data_id)
|
|
{
|
|
return _deckUnitInfo.FindIndex(n => n.unit_data_id == unit_data_id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Àåºñ ¾ÆÀÌÅÆ ¹Ýȯ
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public Equipment FindEquipment(long id)
|
|
{
|
|
return _equipment.Find(n => n.id == id);
|
|
}
|
|
|
|
public ConsumableItem FindConsumableItem(long id)
|
|
{
|
|
return _consumableItem.Find(n => n.id == id);
|
|
}
|
|
|
|
public EtcItem FindEtcItem(long id)
|
|
{
|
|
return _etcItem.Find(n => n.id == id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// À¯´Ö ¾÷µ¥ÀÌÆ®
|
|
/// </summary>
|
|
/// <param name="item"></param>
|
|
public void UpdateDeckUnitInfo(DeckUnitInfo item)
|
|
{
|
|
FindDeckUnitInfo(item.id).Update(item);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Àåºñ ¾÷µ¥ÀÌÆ®
|
|
/// </summary>
|
|
/// <param name="item"></param>
|
|
public void UpdateEquipment(Equipment item)
|
|
{
|
|
FindEquipment(item.id).Update(item);
|
|
}
|
|
|
|
|
|
public void add(DeckUnitInfo item)
|
|
{
|
|
//À¯´ÖÀº °ãÄ¥ÀÏÀÌ ¾ø±â¶§¹®¿¡ ±×³É Ãß°¡
|
|
_deckUnitInfo.Add(item);
|
|
}
|
|
public void add(List<DeckUnitInfo> items)
|
|
{
|
|
//À¯´ÖÀº °ãÄ¥ÀÏÀÌ ¾ø±â¶§¹®¿¡ ±×³É Ãß°¡
|
|
_deckUnitInfo.AddRange(items);
|
|
}
|
|
|
|
public void add(Equipment item)
|
|
{
|
|
//Àåºñ ¾ÆÀÌÅÆÀº °ãÄ¥ÀÏÀÌ ¾ø±â¶§¹®¿¡ ±×³É Ãß°¡
|
|
_equipment.Add(item);
|
|
}
|
|
public void add(List<Equipment> items)
|
|
{
|
|
//Àåºñ ¾ÆÀÌÅÆÀº °ãÄ¥ÀÏÀÌ ¾ø±â¶§¹®¿¡ ±×³É Ãß°¡
|
|
_equipment.AddRange(items);
|
|
}
|
|
|
|
public void add(ConsumableItem item)
|
|
{
|
|
ConsumableItem select = FindConsumableItem(item.id);
|
|
if (select != null)
|
|
select.count += item.count;
|
|
else
|
|
_consumableItem.Add(item);
|
|
}
|
|
public void add(List<ConsumableItem> items)
|
|
{
|
|
foreach (ConsumableItem item in items)
|
|
add(item);
|
|
}
|
|
|
|
public void add(EtcItem item)
|
|
{
|
|
EtcItem select = FindEtcItem(item.id);
|
|
if (select != null)
|
|
select.count += item.count;
|
|
else
|
|
_etcItem.Add(item);
|
|
}
|
|
|
|
public void add(List<EtcItem> items)
|
|
{
|
|
foreach (EtcItem item in items)
|
|
add(item);
|
|
}
|
|
} |