Страница 1 из 1

Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 21:40
Dmytro
Привет. Метод вызывается в анимации с помощью Event. Ну типа add Event на полоске с анимацией и в инспекторе выбираем нужный метод из доступных. А доступные методы потому что этот скрипт с этими методами висит на объекте где данная анимация есть. Но как достучаться до "чужих" методов? До тех методов которые есть в скриптах на других объектах ...? Как вызвать методы других объектов из анимации? Я чего то не пойму. Подскажите если кто знает.

Re: Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 21:44
Saltant
Вешаешь на ивент метод и в этом методе вызываешь чё нить из другого скрипта.

Re: Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 21:50
Dmytro

Re: Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 21:52
Saltant
Что оно?
Тебе нужно вызвать какой то метод из другого скрипта? Ну так и вызывай, можно через ссылку, можешь какой то контроллер сделать и через синглтон дёргать что нить, вариантов много.

Re: Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 22:00
Dmytro
Я так понял что всё равно этот метод не появиться в списке доступных методов. Нужно через промежуточный метод(на скрипте на объекте с анимацией) + ссылка на нужный объект. А в этом промежуточном методе вызывать метод через ссылку( otherObj.needMethod() ) . А этот промежуточный метод уже вызывать в анимации. Так?

Re: Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 22:24
Saltant
Естественно, всё как обычно.
Я в своем проекте делал так - у меня срабатывал ивент на анимации, дергался скрипт с персонажа, в этом скрипте я обращался к singleton контроллеру (в моем случае это был soundController) я передавал в него имя объекта который передал анимацию и собственно в звуковом контроллере я получал нужный мне звук для проигрывания и проигрывал его.

GetSound это generic метод в моем звуковом контроллере, который возвращает мне ScriptableObject где у меня описана моя пушка, в том числе там назначены звуки выстрела, перезарядки и т.п, я получаю этот объект и вызываю нужный мне звук уже в том методе который сработал когда был event в анимации.
Изображение

OnShot() метод как раз дергается непосредственно анимацией, в нем я иду в контроллер за нужным звуком.
Изображение

Re: Вызов "чужого" метода в анимации. Как?

СообщениеДобавлено: 11 апр 2021, 22:34
Dmytro
Спасибо. Буду пробовать.