38 lines
1.0 KiB
C#
38 lines
1.0 KiB
C#
using System.Collections.Generic;
|
|
using Managers;
|
|
using UnityEngine;
|
|
|
|
public abstract class BaseItemManager : MonoBehaviour
|
|
{
|
|
public static BaseItemManager Instance;
|
|
public PlayerManager playerManager;
|
|
public readonly Dictionary<int, Slot> slots = new();
|
|
|
|
private void Awake()
|
|
{
|
|
if (Instance == null)
|
|
{
|
|
Instance = this;
|
|
DontDestroyOnLoad(gameObject);
|
|
}
|
|
else
|
|
{
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
|
|
// Common methods here
|
|
public abstract GameItem GetItemFromSlot(int slotId);
|
|
public abstract void RemoveItemFromSlot(int slotId);
|
|
public abstract void AddItemToOpenSlot(GameItem item);
|
|
public abstract void AddItemToSlot(GameItem item, int slotId);
|
|
public abstract void AddSlot(Slot slot);
|
|
public abstract void RemoveSlot(int slotId);
|
|
|
|
public Slot GetSlot(int slotId)
|
|
{
|
|
return slots.GetValueOrDefault(slotId, null);
|
|
}
|
|
|
|
public abstract void SwapItems(int slotId1, int slotId2);
|
|
} |