AS3 - Ouvinte de evento que é acionado apenas uma vez
Estou procurando uma maneira de adicionar um EventListener que se remove automaticamente após a primeira vez que é acionado, mas não consigo imaginar uma maneira de fazer isso da maneira que quero.
Eu encontrei esta função (aqui):
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);
}
}
Mas em vez de ter que escrever:
EventUtil.addOnceEventListener( dispatcher, eventType, listener );
Eu gostaria de usá-lo da maneira usual:
dispatcher.addOnceEventListener( eventType, listener );
Alguém tem uma idéia de como isso pode ser feito?
Qualquer ajuda seria muito apreciada.