немного не понял почему для инвентаря Dictionary не подошел, и зачем в них хранить структуру айтемов? если можно хранить только id и количество private Dictionary<string, int> _iventory = new Dictionary<sting,int>();
Основная проблема как я писал в статье, это то, что Dictionary это таблица хешей. Когда ты будешь выбрасывать и подбирать предмет, он не будет вставать в конец. К примеру когда у тебя инвентарь [0] = Bluprint [1] = Oxygen [2] = Food
И ты выбросишь [1] у тебя как бы будет [0] = Oxygen [1] = Food
Но когда ты поднимешь blueprint, то он снова будет на той же позиции как до выброса [0] = Bluprint [1] = Oxygen [2] = Food
А мне нужно что бы предмет отправлялся в конец [0] = Oxygen [1] = Food [2] = Bluprint
В Dictionary на сколько Я знаю, может я упустил какое то обновление или еще что то, но я не знаю возможности добавления гибкости как в листе или массиве без бубнов.
А структура это своего рода замена ключу и значению.
немного не понял почему для инвентаря Dictionary не подошел, и зачем в них хранить структуру айтемов? если можно хранить только id и количество
private Dictionary<string, int> _iventory = new Dictionary<sting,int>();
void Add(string id, int count){
if(_iventory.ContainsKey(id)){
_iventory[id] += count;
}else{
_iventory.Add(id, count);
}
}
Основная проблема как я писал в статье, это то, что Dictionary это таблица хешей. Когда ты будешь выбрасывать и подбирать предмет, он не будет вставать в конец. К примеру когда у тебя инвентарь
[0] = Bluprint
[1] = Oxygen
[2] = Food
И ты выбросишь [1]
у тебя как бы будет
[0] = Oxygen
[1] = Food
Но когда ты поднимешь blueprint, то он снова будет на той же позиции как до выброса
[0] = Bluprint
[1] = Oxygen
[2] = Food
А мне нужно что бы предмет отправлялся в конец
[0] = Oxygen
[1] = Food
[2] = Bluprint
В Dictionary на сколько Я знаю, может я упустил какое то обновление или еще что то, но я не знаю возможности добавления гибкости как в листе или массиве без бубнов.
А структура это своего рода замена ключу и значению.