| 567 | } |
| 568 | |
| 569 | void Quest::initScript() { |
| 570 | if (!m_player || !m_world || m_inited) |
| 571 | return; |
| 572 | |
| 573 | auto questTemplate = getTemplate(); |
| 574 | if (questTemplate->script.isValid()) |
| 575 | m_scriptComponent.setScript(*questTemplate->script); |
| 576 | else |
| 577 | m_scriptComponent.setScripts(StringList{}); |
| 578 | m_scriptComponent.setUpdateDelta(questTemplate->updateDelta); |
| 579 | |
| 580 | m_scriptComponent.addCallbacks("quest", makeQuestCallbacks(m_player)); |
| 581 | m_scriptComponent.addCallbacks("celestial", LuaBindings::makeCelestialCallbacks(m_client)); |
| 582 | m_scriptComponent.addCallbacks("player", LuaBindings::makePlayerCallbacks(m_player)); |
| 583 | m_scriptComponent.addCallbacks("config", LuaBindings::makeConfigCallbacks([this](String const& name, Json const& def) { |
| 584 | return Json(getTemplate()->scriptConfig).query(name, def); |
| 585 | })); |
| 586 | m_scriptComponent.addCallbacks("entity", LuaBindings::makeEntityCallbacks(m_player)); |
| 587 | m_scriptComponent.addCallbacks("status", LuaBindings::makeStatusControllerCallbacks(m_player->statusController())); |
| 588 | m_scriptComponent.addActorMovementCallbacks(m_player->movementController()); |
| 589 | m_inited = true; |
| 590 | |
| 591 | m_scriptComponent.init(m_world); |
| 592 | } |
| 593 | |
| 594 | void Quest::uninitScript() { |
| 595 | m_scriptComponent.uninit(); |
nothing calls this directly
no test coverage detected