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