using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
public class Inventory : MonoBehaviour, IDataPersistence
{
public static Inventory instance;
public int space = 15;
public List<Item> items;
public delegate void OnItemChanged();
public OnItemChanged onItemChangedCallback;
void Awake(){
if(instance != null){
Debug.LogWarning("Precakal si ne6to pak");
Destroy(this.gameObject);
return;
}
instance = this;
}
/*void Update(){
if(instance == null){
instance = this;
}
}*/
public void LoadData(GameData data){
//items = data.itemsSave;
/*foreach(KeyValuePair<string, bool> pair in data.coinsCollected)
{
if (pair.Value)
{
coinsAmount++;
}
}*/
}
public void SaveData(GameData data){
//data.itemsSave = items;
}
//public List<Item> items = new List<Item>();
//public SerializableDictionary<Item, bool>
public bool Add (Item item){
if(item.isDefaultItem == false){
if (items.Count >= space)
{
Debug.Log("Not enough Space");
return false;
}
items.Add(item);
if (onItemChangedCallback != null)
{
onItemChangedCallback.Invoke();
}
}
return true;
}
public void Remove(Item item){
items.Remove(item);
if (onItemChangedCallback != null)
{
onItemChangedCallback.Invoke();
}
}
public void SimpleAdd(Item item){
items.Add(item);
if (onItemChangedCallback != null)
{
onItemChangedCallback.Invoke();
}
}
public bool Contains(Item item){
if(items.Contains(item)){
return true;
}else{
return false;
}
}
}