Не могу взять Sprite из DataTable

Рейтинг: 0Ответов: 0Опубликовано: 06.03.2023

Логика мне подсказывает, что нет причин по которым картинка не может хранится в таблице, но почему-то достать ее у меня не получается. В поле спрайт после работы скрипта - null. Я не правильно пишу запрос?

Создание таблицы

private static void InitSpriteTable()
    {
        SpriteTable.Columns.Clear();
        SpriteTable.Columns.Add("Id");
        SpriteTable.Columns.Add("Sprite");
 
        DataColumn[] PrimaryKeyColumns = new DataColumn[] { SpriteTable.Columns["Id"] };
        SpriteTable.PrimaryKey = PrimaryKeyColumns;
    }

Заполнение

public static bool LoadInventorySpriteDataTable()
    {
        Sprite[] IS;
 
        IS = Resources.LoadAll<Sprite>("InventorySprites");
 
        foreach (Sprite s in IS)
        {
            SpriteTable.Rows.Add(Convert.ToInt32(s.name), s);
        }
        if (SpriteTable.Rows.Count != 0)
        {
            return true;
        }
 
        return false;
    }

Считывание

InventoryItems[i.ToString()].ItemGameObject.GetComponent<Image>().sprite = 
                GlobalStorage.SpriteTable.Select().Where(row => Convert.ToInt32(
                    row["Id"]) == CurrentItem.Id).First()["Sprite"] as Sprite;

Ответы

Ответов пока нет.