mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
feat: add WoW event system for Lua addons
Implement the WoW-compatible event system that lets addons react to gameplay events in real-time: - RegisterEvent(eventName, handler) — register a Lua function for an event - UnregisterEvent(eventName, handler) — remove a handler - fireEvent() dispatches events to all registered handlers with args Currently fired events: - PLAYER_ENTERING_WORLD — after addons load and world entry completes - PLAYER_LEAVING_WORLD — before logout/disconnect Events are stored in a __WoweeEvents Lua table, dispatched via LuaEngine::fireEvent() which is called from AddonManager::fireEvent(). Error handling logs Lua errors without crashing. Updated HelloWorld addon to use RegisterEvent for world entry/exit.
This commit is contained in:
parent
7da1f6f5ca
commit
510f03fa32
6 changed files with 148 additions and 14 deletions
|
|
@ -85,6 +85,10 @@ bool AddonManager::runScript(const std::string& code) {
|
|||
return luaEngine_.executeString(code);
|
||||
}
|
||||
|
||||
void AddonManager::fireEvent(const std::string& event, const std::vector<std::string>& args) {
|
||||
luaEngine_.fireEvent(event, args);
|
||||
}
|
||||
|
||||
void AddonManager::shutdown() {
|
||||
addons_.clear();
|
||||
luaEngine_.shutdown();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue