/*
<copyright file="BGExcelImageField.cs" company="BansheeGz">
    Copyright (c) 2018-2024 All Rights Reserved
</copyright>
*/

namespace BansheeGz.BGDatabase.Editor
{
    public class BGExcelImageField
    {
        public readonly BGField field;
        public readonly BGAssetLoaderA loader;
        public readonly BGAssetLoaderManagerA loaderManager;
        private readonly BGStorable<string> storable;

        public BGExcelImageField(BGField field)
        {
            this.field = field;
            loader = ((BGAssetLoaderA.WithLoaderI)field).AssetLoader;
            loaderManager = BGAssetLoaderManagerA.GetShared(loader);
            storable = ((BGStorable<string>)field);
            IsSprite = field is BGFieldUnitySprite;
        }

        public bool IsSprite { get; }

        public bool HasValue(int entityIndex) => !string.IsNullOrEmpty(GetStoredValue(entityIndex));
        public string GetStoredValue(int entityIndex) => storable.GetStoredValue(entityIndex);
        public void SetStoredValue(int entityIndex, string path) => storable.SetStoredValue(entityIndex, path);
    }
}