package com
{
import flash.events.Event;
public class AppEvent extends Event
{
//————————————————————————–
//
// Properties
//
//————————————————————————–
private var _data:Object;
private var _callback:Function;
public function AppEvent(type:String, data:Object=null, callback:Function=null)
{
super(type);
_data=data;
_callback=callback;
}
public function get data():Object
{
return _data;
}
public function set data(value:Object):void
{
_data=value;
}
public function get callback():Function
{
return _callback;
}
public function set callback(value:Function):void
{
_callback=value;
}
public override function clone():Event
{
return new AppEvent(this.type, this.data, this.callback);
}
public function dispatch():Boolean
{
return EventBus.instance.dispatchEvent(this);
}
public static function dispatch(type:String, data:Object=null, callback:Function=null):Boolean
{
return EventBus.instance.dispatchEvent(new AppEvent(type, data, callback));
}
public static function addListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void
{
EventBus.instance.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
public static function removeListener(type:String, listener:Function, useCapture:Boolean=false):void
{
EventBus.instance.removeEventListener(type, listener, useCapture);
}
}
}