AS3: detector de eventos que solo se dispara una vez
Estoy buscando una manera de agregar un EventListener que se eliminará automáticamente después de la primera vez que se dispara, pero no puedo encontrar una manera de hacerlo de la manera que quiero.
Encontré esta función (aquí):
public class EventUtil
{
public static function addOnceEventListener(dispatcher:IEventDispatcher,eventType:String,listener:Function):void
{
var f:Function = function(e:Event):void
{
dispatcher.removeEventListener(eventType,f);
listener(e);
}
dispatcher.addEventListener(eventType,f);
}
}
Pero en lugar de tener que escribir:
EventUtil.addOnceEventListener( dispatcher, eventType, listener );
Me gustaría usarlo de la manera habitual:
dispatcher.addOnceEventListener( eventType, listener );
¿Alguien tiene una idea de cómo se podría hacer esto?
Cualquier ayuda sería muy apreciada.