@Korsakovlev

Как сделать наследование в unity?

У меня идет обращение к игроку, но этот игрок может быть как 1 персонажем там и 2. У каждого разные скрипты, например Player_Knight и Player_Alchemistry, вопрос как сделать, чтобы в этом обращении обращались к любому игроку. Прочитал, что можно сделать наследование, в базовом сделать все основное, а в других скриптах сделать отличающиеся функции, но как сделать само наследование, ведь нужно наследовать Monobehaviour, а два класса наследовать нельзя, как быть?
  • Вопрос задан
  • 299 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Ок, есть Player_Knight, есть Player_Alchemistry. Оба они наследуются от BasePlayer. А он наследуется от MonoBehaviour.
Ответ написан
Комментировать
@Ente
Unity developer
Unity все-таки заточен на компоненты, нежели на ООП. Поэтому лучшим решением будет навешивать на игрока различные компоненты, например:

Подвижный - он может двигаться.
Здоровье - у него есть здоровье и на него работает лечение и урон.

У какой-нибудь зверушки висят оба эти компонента (потому что она может ходить и нее есть здоровье), а вот у препятствия, которое можно сломать, только "Здоровье". У обычного перекати-поля - только "Подвижный " и т.п.

Аналогично с классами игрока, если он может варить зелья - добавь ему компонент Алхимика. Может кастовать - компонент Маг. И можно спокойно создавать любые варианты, вплоть до того, что какой-то класс не может носить тяжелые доспехи, потому что у него нет компонента на это.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы