ulfben icon

Eventsystem for AS2

ulfben | PRO | 01/15/12 12:19:36 PM UTC | 0 ⭐ | 11013 👁️ | Never ⏰ | []
ActionScript |

1.29 KB

|

None

|

0 👍

/

0 👎

private var _listeners:Object = {};
public function Broadcaster(){
}       
public function addEventListener(eventName:String, listenerObj:Object, methodName:String):Void{
    if(_listeners[eventName] == undefined){
        _listeners[eventName] = new Array();
    }
    _listeners[eventName].push({listenerObj:listenerObj, methodName:methodName});
}   
public function broadcastEvent(eventName:String, data:Object):Void{
    var eventQueue:Array = new Array();
    for(var i:Number = (listeners.length - 1); i >= 0; i--){
        var method:String = eventName;
        if(_listeners[eventName][i].methodName != undefined){
            method = _listeners[eventName][i].methodName;
        }
        eventQueue.push({listenerObj:_listeners[eventName][i].listenerObj, method:method})
    }
    for(var i:Number = (listeners.length - 1); i >= 0; i--){
        eventQueue[ii].listenerObj[eventQueue[ii].method](data);
    }
}   
public function removeEventListener(eventName:String, listenerObj:Object, methodName:String):Void{
    if(_listeners[eventName] == null){ return; }
    var listeners:Array = _listeners[eventName];
    for(var i:Number = (listeners.length - 1); i >= 0; i--){ 
        if(listeners[i].listenerObj == listenerObj && listeners[i].methodName == methodName){
            _listeners[eventName].splice(i, 1); //splice the member, not the local copy
            return;
        }
    }   
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  • Rteuixl icon
    04/02/26 04:27:30 PM UTC
    text |

    0 B

    |

    0 👍

    /

    0 👎

    Best t33n active cpx link daily updates!
     Copy and paste the link in a new browser tab and then hit enter!
     https://crazyporn.@xxx/members/157354/?asgtbndr=1&play=true&spon=adworld&zone=400
     Remove the @ 
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎