Lyra Inventory Fix 05: Ограничения инвентаря. Логика стопок и "сколько вешать в граммах?"

Lyra Inventory Fix 05: Ограничения инвентаря. Логика стопок и "сколько вешать в граммах?"

Хорошо, юные (или не очень) коллеги-кудесники кода, если вы до сих пор следите за моими метаниями по просторам системы инвентаря Lyra, то поздравляю: мы только что добрались до конца начала середины первой половины разработки улучшений нашего универсального инвентаря на базе прототипы Lyra. Как видите, система еще не особо вылизана — тут и следы ст…

1

Lyra Inventory Fix 04: Решаем проблему с валидацией, инкапсуляцией и имплементацией.

Lyra Inventory Fix 04: Решаем проблему с валидацией, инкапсуляцией и имплементацией.

Первый небольшой фикс мы начнем с комментария в LyraInventoryManagerComponent.cpp на строке 136: TODO: Would prefer to not deal with this here and hide it further? Он указывает на то, что валидация (nullptr и другие проверки состояния Entry.Instance) выполняется прямо в компоненте. Это нарушает инкапсуляцию и засоряет логику компонента инвентаря.

1

Lyra Inventory Fix 01: Фильтрация предметов. Когда порядок — не роскошь, а необходимость.

Lyra Inventory Fix 01: Фильтрация предметов. Когда порядок — не роскошь, а необходимость.

Разработчики из Epic Games как обычно, оставили нам полуготовую систему — в этот раз речь про фильтры инвентаря в LyraInventoryManagerComponent.cpp

1

Lyra Inventory Fix 03: Исправляем UE-127172. Делаем как надо, а не как "пока работает"

И таааак сойдет!

И снова тодошки в прототипе системы инвентаря от Lyra… На 93-й строке LyraInventoryManagerComponent.cpp мы наткнулись на вырубленное в камне послание от эпиков: TODO: Using the actor instead of component as the outer due to UE-127172. Все ясно! Тодошка из отряда костылеобразных. Как говорится, "нет ничего более постоянного, чем временное решение".…

1

Lyra Inventory Fix 02: Подсистема для фрагментов инвентаря. Решаем TODO с умом.

Lyra Inventory Fix 02: Подсистема для фрагментов инвентаря. Решаем TODO с умом.

Ох уж эти TODO-комментарии от Epic Games... Они, как забытые под диваном носки: вроде лежат себе тихо, но каждый раз, проходя мимо, ты слышишь их шёпот: "Вернись! Не оставляй меня здесь!". И, заглянув под диван, на 49-й строке LyraInventoryItemDefinition.h мы как раз и нашли один такой: // Todo: Make into a subsystem instead?

Что ж, пора отправить е…

1