#ifndef PKE_EVENT_HPP #define PKE_EVENT_HPP #include "dynamic-array.hpp" #include #include #include typedef void (*EventHandler)(); typedef void (*TickEvent)(double); template void Event_RegisterCallback(const char *name, Fn handler); template void Event_UnregisterCallback(const char *name, Fn handler); template void Event_Dispatch(const char *name, Arguments... args); template<> void Event_RegisterCallback(const char *name, EventHandler handler); template<> void Event_UnregisterCallback(const char *name, EventHandler handler); template<> void Event_Dispatch(const char *name); template<> void Event_RegisterCallback(const char *name, TickEvent handler); template<> void Event_UnregisterCallback(const char *name, TickEvent handler); template<> void Event_Dispatch(const char *name, double d); void Event_Teardown(); #endif /* PKE_EVENT_HPP */