Задать вопрос
motkot
@motkot
Программирование C#.

Как сделать чтобы экземпляр класса был типо не ссылкой, а типо как значимый?

Типо scriptable object и класс это же ссылочный тип. И есть лист предметов и есть для того чтобы их на ui добавлять и после создания обьекта, вызывается метод Render и там параметр Item и есть поле customItem типо должно наследовать почти все с item, но кроме переменных customItem меняет и переменные предмета.

Если не понятно, то вот код:

Inventory.Items.ForEach(item =>
        {
            var Amount = item.Amount;
            Item customItem = item;

            while(true)
            {
                if(Amount >= item.MaxAmount)
                {
                    customItem.Amount = item.MaxAmount;
                    Amount -= item.MaxAmount;

                    var cell = Instantiate(_inventotyCell, _contaner);
                    cell.Render(customItem);//new Item() { Amount = item.MaxAmount, Image = item.Image });
                }
                else
                {
                    customItem.Amount = Amount;
                    Amount = 0;

                    var cell = Instantiate(_inventotyCell, _contaner);
                    cell.Render(customItem);//new Item() { Amount = item.MaxAmount, Image = item.Image });
                }

                if(Amount == 0)
                {
                    break;
                }
            }
        });
  • Вопрос задан
  • 25 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Потому что вот это Item customItem = item; не создание нового экземпляра, а просто копирования ссылки. Если вам нужен новый, то надо создавать его через new
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы