using System.Collections.Generic; using UnityEngine; namespace SpellBoundAR.CustomTextures { public abstract class SavedCustomTexturesManagerMonoBehaviour : MonoBehaviour, ISavedCustomTexturesManager { [Header("Settings")] [SerializeField] protected string directory; protected ISavedCustomTexturesManager SavedCustomTexturesManager { get; set; } public string Directory => SavedCustomTexturesManager.Directory; public Dictionary CustomTextures => SavedCustomTexturesManager.CustomTextures; public ISavedCustomTexture GetSavedCustomTexture(string id) => SavedCustomTexturesManager.GetSavedCustomTexture(id); public void SetSavedCustomTexture(string id, ISavedCustomTexture savedCustomTexture) => SavedCustomTexturesManager.SetSavedCustomTexture(id, savedCustomTexture); protected abstract void InitializeManager(); private void Awake() => InitializeManager(); } }