package funkin.scripting; import funkin.scripting.events.*; class EventManager { // map doesnt work for that public static var eventValues:Array = []; public static var eventKeys:Array> = []; public static function get(cl:Class):T { var c:Class = cast cl; var index = eventKeys.indexOf(c); if (index < 0) { eventKeys.push(c); eventValues.push(Type.createInstance(c, [])); return cast eventValues.last(); } return cast eventValues[index]; } }