ДЗ:ГенерацияВраговНаУровне(№1)
[SerializeField] private MonoBehaviour _enemyPrefab; - это почти тоже самое что и GO. Создавать поле типа GameObject - плохая практика. Туда можно что угодно поместить. И не понятна зона ответственности и область применения. Всегда лучше конкретизировать по другим компонентам. В юнити удобнее использовать базовые классы вместо интерфейсов. Ответственность классов точки спавна и спавнера разделена по неочевидному принципу. Как минимум, вопрос вызывает то, почему направление задается в дном классе, а скорость - в другом. Делайте это в одном месте, или скорость вообще в префаб врага спрячьте. Movement - это движение, а компонент - это тот кто двигает - Mover public float Speed { get = _speed; set = _speed = value; } - чем это отличается от публичного поля? Делать публичные сетеры - не лучшая практика. Делаем это через методы и, по хорошему, с валидацией входящего значения. Помимо упорядочивания методов по доступности, в юнити вводится дополнительное ограничение. Методы событий юнити всегда пишутся выше своих, даже если доступность их ниже. Так же методы событий юнити лучше писать в порядке их вызова основным потоком. Тоесть первым Awake. Исключение, что OnEnable, OnDisable можно рядом писать, то все ровно не раньше чем вызывается в очереди OnEnable. Подробнее
Название:
ДЗ:ГенерацияВраговНаУровне(№1)
Категория:
Разное