Size: a a a

2020 November 04

i

invariance in unity3d.ru
Подскажите пожалуйста. Сделал передвижение персонажа по клеткам в тактической игре. Т.к. можно переходить на 5 клеток сразу, реализовал это дело в виде паттерна Command. У меня по сути есть класс Action.Walk, который непосредственно двигает персонажа на одну клетку в любом направлении. Так же есть класс Action.Move, который хранит пул Action.Walk.

Так вот, я никак не допру, как мне сделать нечто вроде ручного... Итерирования? У меня по окончанию работы Action.Walk вызывается ивент, который по сути и должен запускать следующий Action.Walk из пула Action.Move, но я не пойму как это описать кодом (:
источник

i

invariance in unity3d.ru
С наскока написал такое, но оно не работает, очевидно
источник

N

Nort in unity3d.ru
invariance
С наскока написал такое, но оно не работает, очевидно
а как евент то реализовывается? как я понимаю в конце там вызывается анимация, а потом в конце анимации как раз евент что движение закончилось, так?
источник

i

invariance in unity3d.ru
Всё верно
источник

SM

Shcherbina Mikhail in unity3d.ru
У меня было такое, что нужно было поставить на один кадр назад вызов ивента в анимации, вместо последнего, потому что не вызывалось
источник

ТШ

Тимофей Шульгин... in unity3d.ru
Ivan 22
Забавно, что эти две проблемы есть именно в рабочем проекте, а когда создал тестовый, то там всё работает
И там нету ни первой проблемы, ни второй и всё работает двумя способами

скрипт и действия в инспекторе одинаковы
Как насчет упростить скрипт? Тогда вообще ничего в инспекторе перетаскивать не надо.
источник

I

Ivan 22 in unity3d.ru
Тимофей Шульгин
Как насчет упростить скрипт? Тогда вообще ничего в инспекторе перетаскивать не надо.
Спасибо за попытку решения
источник

I

Ivan 22 in unity3d.ru
Но к сожалению всё так же на работает
источник

I

Ivan 22 in unity3d.ru
источник

I

Ivan 22 in unity3d.ru
источник

I

Ivan 22 in unity3d.ru
вроде же всё корректно написал в скрипте
(нэйминг скрипта и класса изменил)
источник

P

Phantom in unity3d.ru
NullReferenceError
источник

I

Ivan 22 in unity3d.ru
Phantom
NullReferenceError
Именно
Как и когда я ссылку вручную указывал 9что ссылку камеры, что ссылку геймОбъекта)

И вот сейчас через чайлдов берём компонент

Вот структура, вроде всё правильно
источник

P

Phantom in unity3d.ru
Ivan 22
Именно
Как и когда я ссылку вручную указывал 9что ссылку камеры, что ссылку геймОбъекта)

И вот сейчас через чайлдов берём компонент

Вот структура, вроде всё правильно
Ты уверен, что там вообще есть камера?
источник

I

Ivan 22 in unity3d.ru
Phantom
Ты уверен, что там вообще есть камера?
Ну вот камера, открыл в инспекторе
источник

I

Ivan 22 in unity3d.ru
её даже можно потыкать и она работает
источник

I

Ivan 22 in unity3d.ru
источник

N

Nort in unity3d.ru
invariance
Всё верно
Ну в конце еаента и надо из массива удалять и следующий вызывать, не?
источник

I

Ivan 22 in unity3d.ru
Тимофей Шульгин
Как насчет упростить скрипт? Тогда вообще ничего в инспекторе перетаскивать не надо.
Вот в общем твой третий способ
Который так же работает в Новом проекте))

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

ТШ

Тимофей Шульгин... in unity3d.ru
Меня смущает то что "GetComponentInChildren" не выделен желтоватым цветом
источник