Хорошо, юные (или не очень) коллеги-кудесники кода, если вы до сих пор следите за моими метаниями по просторам системы инвентаря Lyra, то поздравляю: мы только что добрались до конца начала середины первой половины разработки улучшений нашего универсального инвентаря на базе прототипы Lyra. Как...
Фикс 1: Валидация, инкапсуляция
Первый небольшой фикс мы начнем с комментария в LyraInventoryManagerComponent.cpp на строке 136: TODO: Would prefer to not deal with this here and hide it further?. Он указывает на то, что валидация (nullptr и другие проверки состояния Entry.Instance) выполняется...
И снова тодошки в прототипе системы инвентаря от Lyra… На 93-й строке LyraInventoryManagerComponent.cpp мы наткнулись на вырубленное в камне послание от эпиков:
TODO: Using the actor instead of component as the outer due to UE-127172. Все ясно! Тодошка из отряда костылеобразных.
Как говорится...
Ох уж эти TODO-комментарии от Epic Games... Они, как забытые под диваном носки: вроде лежат себе тихо, но каждый раз, проходя мимо, ты слышишь их шёпот: "Вернись! Не оставляй меня здесь!". И, заглянув под диван, на 49-й строке LyraInventoryItemDefinition.h мы как раз и нашли один такой: Todo...
Разработчики из Epic Games в очередной раз оставили нам полуготовую систему — на этот раз речь про фильтры инвентаря в LyraInventoryManagerComponent.cpp. Тут, как говорится, «собака порылась»: закомментированы строки с ULyraInventoryFilter и его производным классом ULyraInventoryFilter_HasTag...