Создать компонент с функционалом для выбора игроком его текущего предмета в одном из слотов на его игровом персонаже. В качестве результата выполнения выслать целиком проект с тестовой картой или файлы с кодом компонента и игрока.
- Слот - обозначение названия для разделения разных мест на персонаже. Для каждого слота указывается название сокета Skeletal Mesh персонажа игрока, которому он соответствует.
- Предмет - blueprint или C++ класс, унаследованный от AActor и реализующий интерфейс IDevice. (IDevice без функционала). Содержит Static Mesh для графического представления.
- Возможность заранее сформировать набор слотов и набор доступных предметов для каждого слота.
- Возможность получить список слотов.
- Возможность получить список предметов для выбранного слота.
- Возможность создать (заспавнить) выбранный из списка предмет для выбранного слота. При спавне предмет присоединяется к сокету меша игрока, соответствующему выбранному слоту. Новый предмет заменяет текущий в слоте (текущий уничтожается). Каждый предмет отображается визуально на игроке (для графического представления можно использовать любые модели из шаблонов UE)
- Поддержка мультиплеера. Все операции по созданию (спавну) и уничтожению предмета должны отображаться на всех подключенных к игре игроках. Для тестового проекта достаточно мультиплеера в рамках игры в редакторе с Listen\Dedicated сервером.
- Проект должен содержать игрового персонажа с реализованной функциональностью и виджет с возможностью проверки всего требуемого функционала.
- Можно использовать шаблоны проектов UE4: First Person, Third Person, Top-Down.
- Любая версия UE4.
- Любой персонаж из стандартных шаблонов проектов UE4.
- Обязательно наличие Skeletal Mesh (можно использовать UE4 Mannequin).
- Для визуализации ассетов можно использовать любые графические примитивы (сфера, куб, модели доступные из шаблонов стандартных проектов анрила).