refactor: use hash string

This commit is contained in:
KobeBryant114514
2024-09-21 21:28:58 +08:00
Unverified
parent 91d36339a8
commit 84fac56d60
+5 -5
View File
@@ -3,8 +3,8 @@ using namespace ll::hash_utils;
class LegacyScriptEventManager { class LegacyScriptEventManager {
private: private:
int64 mNextEventId = 0; int64 mNextEventId = 0;
std::unordered_map<std::string, ll::event::ListenerPtr> mEventListeners; std::unordered_map<int64, ll::event::ListenerPtr> mEventListeners;
public: public:
LegacyScriptEventManager() {}; LegacyScriptEventManager() {};
@@ -16,12 +16,12 @@ public:
} }
void emplaceListener(std::string const& scriptEventId, ll::event::ListenerPtr listenerPtr) { void emplaceListener(std::string const& scriptEventId, ll::event::ListenerPtr listenerPtr) {
mEventListeners[scriptEventId] = listenerPtr; mEventListeners[doHash(scriptEventId)] = listenerPtr;
} }
void removeListener(std::string const& scriptEventId) { void removeListener(std::string const& scriptEventId) {
ll::event::EventBus::getInstance().removeListener(mEventListeners[scriptEventId]); ll::event::EventBus::getInstance().removeListener(mEventListeners[doHash(scriptEventId)]);
mEventListeners.erase(scriptEventId); mEventListeners.erase(doHash(scriptEventId));
} }
static LegacyScriptEventManager& getInstance() { static LegacyScriptEventManager& getInstance() {