Как сделать метод который доступен во всех скриптах

Программирование на Юнити.

Как сделать метод который доступен во всех скриптах

Сообщение Merfik933 05 фев 2022, 23:03

Как сделать метод который доступен во всех скриптах? В интернете я почему-то я не смог найти такой информации. Ну по идеи это возможно, как-то же можно брать методы с MonoBehavior. Я понимаю что все скрипты дочерние от его, а родительским может быть только один класс, но есть ли другой способ? А если нет то можно ли отрыть и модифицировать сам MonoBehavior. Может это глупый вопрос, но повторюсь, я в инете ничего не нашел
Аватара пользователя
Merfik933
UNец
 
Сообщения: 35
Зарегистрирован: 30 сен 2021, 16:10
Откуда: Украина

Re: Как сделать метод который доступен во всех скриптах

Сообщение waruiyume 06 фев 2022, 02:10

как сделать метод который доступен во всех скриптах

https://metanit.com/sharp/tutorial/3.6.php

Мне кажется, что вы хотите не "сделать метод который доступен во всех скриптах", а "сделать метод который есть во всех скриптах".
Я понимаю что все скрипты дочерние от его, а родительским может быть только один класс

Да, но мне кажется вы не знаете, что у родительского класса тоже может быть родитель, в случае монобеха цепочка наследований выглядит так:
Object->UnityEngine.Object->Component->Behaviour->Behaviour->MonoBehaviour
Допустим вы можете унаследовать класс "Животные" от монобеха, и добавить в этом классе метод "ПодатьГолос". Потом унаследовать от "Животные": "Собака", "Кошка" и т.п.. Теперь у "Собака" и "Кошка" есть метод "ПодатьГолос".
https://metanit.com/sharp/tutorial/3.7.php (так же вам нужно посмотреть: "абстрактные методы", "виртуальные методы", "интерфейсы")
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как сделать метод который доступен во всех скриптах

Сообщение Merfik933 06 фев 2022, 19:00

waruiyume писал(а):Мне кажется, что вы хотите не "сделать метод который доступен во всех скриптах", а "сделать метод который есть во всех скриптах".

Я не особо понял в чем разница. У меня есть метод который переделывает числа больше 1000 в строки типа 1T, 1M, 1B... И я его часто использую. То как мне правильнее сделать: с помощью static или унаследовать скрипт от скрипта или взять ссылку на объект со скриптом с методом (у меня сейчас так) или же как-то еще?
Аватара пользователя
Merfik933
UNец
 
Сообщения: 35
Зарегистрирован: 30 сен 2021, 16:10
Откуда: Украина

Re: Как сделать метод который доступен во всех скриптах

Сообщение Alkos26Rus 06 фев 2022, 20:20

Merfik933 писал(а):
waruiyume писал(а):Мне кажется, что вы хотите не "сделать метод который доступен во всех скриптах", а "сделать метод который есть во всех скриптах".

Я не особо понял в чем разница. У меня есть метод который переделывает числа больше 1000 в строки типа 1T, 1M, 1B... И я его часто использую. То как мне правильнее сделать: с помощью static или унаследовать скрипт от скрипта или взять ссылку на объект со скриптом с методом (у меня сейчас так) или же как-то еще?

Статик лучше, создай класс где у тебя будут все статичные методы, с разными вычислениями и его легко можно будет перекидывать в другой проект
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как сделать метод который доступен во всех скриптах

Сообщение Merfik933 06 фев 2022, 23:43

Alkos26Rus, waruiyume спасибо
Аватара пользователя
Merfik933
UNец
 
Сообщения: 35
Зарегистрирован: 30 сен 2021, 16:10
Откуда: Украина


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


cron