using System.Collections.Generic; using SpellBoundAR.SavedAssetsSystem; using UnityEngine; namespace SpellBoundAR.CustomTextures { public abstract class SavedCustomTexturesManager : ISavedCustomTexturesManager { [Header("Cache")] private readonly PathData _pathData; private readonly PathData[] _historicalPathData; public string Directory => _pathData.Directory; public Dictionary CustomTextures { get; } = new (); public ISavedCustomTexture GetSavedCustomTexture(string id) { return CustomTextures.ContainsKey(id) ? CustomTextures[id] : null; } public void SetSavedCustomTexture(string id, ISavedCustomTexture savedCustomTexture) { if (CustomTextures.ContainsKey(id)) CustomTextures[id] = savedCustomTexture; else CustomTextures.Add(id, savedCustomTexture); } protected SavedCustomTexturesManager(PathData pathData, params PathData[] historicalPathData) { _pathData = pathData; _historicalPathData = historicalPathData; } } }