Scriptum/Assets/Scripts/REFACTORING/Application/Panel/Equipment/EquipmentDataListManager.cs

46 lines
1.5 KiB
C#
Raw Normal View History

2022-11-24 03:03:30 +01:00
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
public class EquipmentDataListManager : DataListManager<IndexValuePair<int, EquippableItem>>
{
public new DataListManager<IndexValuePair<int, EquippableItem>> SetUiManager(ref EquipmentUIManager _uiManager)
{
uiManager = _uiManager;
return this;
}
/// <summary>
/// Function to init equipment list
/// We should init this before each operation on equipment
/// </summary>
/// <returns></returns>
public List<IndexValuePair<int, EquippableItem>> InitEquipment()
{
List<IndexValuePair<int, EquippableItem>> convertedList = new List<IndexValuePair<int, EquippableItem>>();
foreach (EquipmentPanelSlotsTypeEnum emptyElement in Enum.GetValues(typeof(EquipmentPanelSlotsTypeEnum))) { convertedList.Add(new IndexValuePair<int, EquippableItem>((int)emptyElement, null)); }
return convertedList;
}
public override void AddElementToList(IndexValuePair<int, EquippableItem> newElement)
{
Elements
.Where(equipment => equipment.Key == newElement.Key)
.ToList()
.ForEach(equipment => equipment.Value = newElement.Value);
}
public override void RemoveElementFromList(IndexValuePair<int, EquippableItem> element)
{
Elements
.Where(equipment => equipment.Key == element.Key)
.ToList()
.ForEach(equipment => equipment.Value = null);
}
}