Нужно в готовом проекте на Unity добавить рендер 2D линий. Каркас с классами уже есть.
Линия представляют из себя GameObject с прикрепленным классом CurvedLine.cs.
После того как этот класс на C# добавляется к какому нибудь GameObject нужно задать ему публичные переменные fromHandler и toHandler. То есть от какой точки рисовать линию и куда. Далее указать стиль линии, цвет и другие указанные в файле CurvedLine публичные параметры в том числе стрелки в начале и конце линии (по параметрам и по цвету линий нужно дополнительно согласовать в зависимости от способа реализации).
Необходимо сделать:
1. Вывод линий в режиме кривой Безье и в режиме прямоугольных линий.
2. Линии должны обновляться при изменении позиции элементов к которым они привязаны как в режиме редактора, так и в игровом режиме. Но в игровом режиме обновление позиций происходит только при вызове метода updateMe.
3. Линии должны огибать особые объекты. У этих объектов есть 2D collider и будет специальный флаг.
4. Нельзя подключать какие либо сторонние библиотеки (либо их нужно согласовать).
5. Разработка ведется именно на тех объектах которые уже присутствуют в проекте, то есть это объекты внутри канваса и расположенные в строгой иерархии. То есть линия не должна создавать какие то еще дополнительные объекты вне себя.
К задаче приложен проект на Unity(его можно открыть через unity hub) и скриншоты.
После открытия проекта если не будет сцены ее нужно перетащить из папки Assets/Scenes.
Опубликован 17.10.2021 в 00:59 Последнее изменение: 16.10.2021 в 22:16