Monolag писал(а):
Еще вопрос: Нормально ведь создать чайлд от LevelScriptActor на ++, и прописать там функции, которые используются на каждом саблевеле, чтобы не прописывать их по сто раз?
нормально будет создать блюпринт специально для логики типа - актор, этот блюпринт должен на событии Begin Play делать каст(Cast To) в на гэйм инстанс и записывать себя(нода Self) в переменную, естественно предварительно нужно создать БП типа GameInstance, и создать в переменную - типа актор в нем, также в тип данных можно указать имя нужного БП.
После это процедуры, ты можешь получить доступ к этому актору в любом месте проекта, с помощью каста на гэйминстанс а затем на актор с логикой, делать два каста наляписто нодами, поэтому это нужно поместить в функцию, затем с помощью это функции ты будешь получать доступ к актору с логикой, записывать любые переменные в этот актор, запускать в нем любые евенты, и т.д.
Что бы этот актор работал, он должен быть вынесен в уровень.
Тоже самое в скринах
1. Создание гэйминстанса(я уже создал и назвал NewGameInstance) -
http://picua.org/img/2018-08/22/xakoaxg ... xk17yg.png2. Указание нового гэйминстанса в настройках проекта. -
http://picua.org/img/2018-08/22/6i39vzv ... b8zwrm.png3. Зайди в созданный гэйминстанс и создай там переменную, тип данных - актор -
http://picua.org/img/2018-08/22/96qi48t ... hj3ipc.png4. Создай блюпринт типа актор и выполни в нем следующую логику для теста -
http://picua.org/img/2018-08/22/9dm29vu ... bk74uj.png5. Зайди в персонажа(легче протестировать), создай в нем следующую функцию, в out пине, тип данных укажи имя твоего БП с логикой - обязательно, просто актор будет не достаточно.
Также рекомендую включить галочку pure. -
http://picua.org/img/2018-08/22/kprkvin ... zwua57.png6. Теперь в персонаже на клавишу Е вызывай тестовый евент. Вытаскивай его по имени из пина -
http://picua.org/img/2018-08/22/0hjkhwk ... 7n8krz.png7. Обязательно вытащи актор с логикой на карту. -
http://picua.org/img/2018-08/22/4gw37z5 ... fo2tcw.pngЗапусти, нажми Е и убедись что ты все сделал правильно.
Дважды кликнув на TestEvent тебя мгновенно перенесет в блюпринт LogicActor, за это я люблю каст больше интерфейса.