123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- //
- // REDBatchNodeManager.cpp
- // redream_runtime_ios
- //
- // Created by xiao鱼哥 on 2023/8/16.
- //
- #include "REDBatchNodeManager.h"
- #include "REDBatchNodeHeader.h"
- namespace redream {
- REDBatchNodeManager* REDBatchNodeManager::_instance = nullptr;
- REDBatchNodeManager* REDBatchNodeManager::getInstance(){
- if (_instance == nullptr) {
- _instance = new REDBatchNodeManager();
- }
- return _instance;
- }
- REDBatchNodeManager::REDBatchNodeManager(){
-
- }
- REDBatchNodeManager::~REDBatchNodeManager(){
-
- }
- void REDBatchNodeManager::addListener(const std::string& eventName,REDBatchNodeListener* listener){
- _listeners[eventName].insert(listener);
- }
- void REDBatchNodeManager::removeListener(const std::string& eventName,REDBatchNodeListener* listener){
- _listeners[eventName].erase(listener);
- }
- void REDBatchNodeManager::removeListener(REDBatchNodeListener* listener){
- for (auto it : _listeners) {
- it.second.erase(listener);
- }
- }
- void REDBatchNodeManager::dispatchEvent(const std::string& eventName){
- auto fit = _listeners.find(eventName);
- if (fit != _listeners.end()) {
- for (REDBatchNodeListener* l : fit->second) {
- l->onListener();
- }
- }
- }
- }
|