Hello - I’m reading a new book on OOP with actionscript and they tend to use some shorthand code that I’m not familiar with at all - I wish there was somewhere where that listed shorthand coding for actionscript!
Anyways, one of the projects involves building a Broadcaster class which which broadcasts events - I’m having trouble making out how some of the code works seeing as though I’ve never seen it before. Here is the finished class file - I’ve highlighted what I’m confused on in red… The class works fine, but I like to know what’s actually going on…
Thanks in advance
private var __listeners:Array;
function Broadcaster ()
{
init();
}
//PRIVATE
private function init():Void
{
__listeners = [];
}
//PUBLIC
public function addEventListener (evnt:String, lstnr:Object, mappedTo:String):Boolean
{
var ev:String;
var li:Object;
for (var i in __listeners) {
ev = __listeners*.event;
li = __listeners*.listener;
if (ev == evnt && li == lstnr) return false;
}
__listeners.push({event:evnt, listener:lstnr, mappedTo:mappedTo});
return true;
}
public function removeEventListener(evnt:String, lstnr:Object):Boolean
{
var ev:String;
var li:Object;
for (var i = 0; i < __listeners.length; i++){
if (ev == evnt && li == lstnr){
__listeners.splice(i,1);
return true;
}
}
return false;
}
public function dispatchEvent(evnt:String, params:Object):Void
{
var evtObj = {type:evnt, parameters:params};
for (var i:String in __listeners) {
if (__listeners*.event == evnt) {
[COLOR=red] __listeners*.listener[evnt](evtObj);
__listeners*.listener[__listeners*.mappedTo](evtObj);
}
}
this[evnt + "Handler"](evtObj);[/COLOR]
}
}