| 71 | } |
| 72 | |
| 73 | void Trigger::registerEnvironment(const std::string& id, sol::environment environment, |
| 74 | const std::string& callback, bool* active) |
| 75 | { |
| 76 | Debug::Log->trace("<Trigger> Registering Lua Environment {0} in " |
| 77 | "Trigger {1} associated to callback {2}", |
| 78 | environment.pointer(), m_name, callback); |
| 79 | m_registeredEnvs.emplace_back(id, environment, callback, active); |
| 80 | |
| 81 | sol::table triggerRef = environment["__TRIGGERS"][this->getTriggerLuaTableName()] |
| 82 | .get_or_create<sol::table>(); |
| 83 | triggerRef["callback"] = callback; |
| 84 | if (m_onRegisterCallback) |
| 85 | { |
| 86 | Debug::Log->trace( |
| 87 | "<Trigger> Calling onRegister callback of Trigger {0}", m_fullName); |
| 88 | m_onRegisterCallback(m_registeredEnvs.back()); |
| 89 | } |
| 90 | } |
| 91 | |
| 92 | void Trigger::unregisterEnvironment(sol::environment environment) |
| 93 | { |
no test coverage detected