137
rated 0 times
[
141]
[
4]
/ answers: 1 / hits: 18825
/ 10 Years ago, tue, august 19, 2014, 12:00:00
In Lua I've made my own Event system and I wanted to convert and use it in JavaScript, here's the code in Lua:
TriggerEvent = function(Name, ...)
local EventID = nil;
for Event2ID, Table in pairs(Event) do
if(Table.Active and Table.Name == Name) then
EventID = Event2ID;
break;
end
end
if(EventID == nil) then
return false;
end
for ListenerID, Table in pairs(Event[EventID].Listener) do
if(Table.Active) then
Table.Function(...);
end
end
return true;
end
Which works flawlessly.
Here's what I have for JavaScript:
TriggerEvent = function(Name, ...) {
var
EventID = undefined
;
for(Event2ID = 0, Length = Event.length; Event2ID < Length; Event2ID++) {
if(Event[Event2ID].Active && Event[Event2ID].Name == Name) {
EventID = Event2ID;
break;
}
}
if(EventID == undefined) {
return false;
}
for(ListenerID = 0, Length = Event[EventID].Listener.length; ListenerID < Length; ListenerID++) {
if(Event[EventID].Listener[ListenerID].Active) {
Event[EventID].Listener[ListenerID].Function(...);
}
}
return true;
}
Which doesn't work at all.
Example usage:
WebsiteConnected = function(Website, Test) {
Website.SetTitle(Hello World);
console.log(Website.GetTitle() + connected! + Test);
return true;
}
CreateEvent(WebsiteConnected); // Moved down.
AddEventListener(WebsiteConnected, WebsiteConnected);
TriggerEvent(WebsiteConnected, (Website || {}), Test); // Moved down.
More From » function