using UnityEngine;
using System;
using System.Collections.Generic;

namespace mgaia.Utils
{
    /// <summary>
    /// Scriptable Object do banco de dados de elementos da pool
    /// </summary>
    /// <owner>Victor</owner>
    public class PoolDatabaseScriptableObject : ScriptableObject
    {
        private static PoolDatabaseScriptableObject _sInstance;

        /// <summary>
        /// Retorna a instância única do scriptable object
        /// </summary>
        public static PoolDatabaseScriptableObject Instance
        {
            get
            {
                if (_sInstance == null)
                {
                    _sInstance = ResourceLoader.Load<PoolDatabaseScriptableObject>(String.Empty);

                    Assert.AssertTrue(_sInstance.PoolElementsReferences.Length > 0, "Não existe nenhuma referência cadastrada na database! Você gerou ela? Utilize o item Menu Manager no menu superior da Unity para isso!");
                }

                return _sInstance;
            }
        }

        public PoolReference[] PoolElementsReferences;
    }
}