GN Events Frameworkby
I am proud to present a new framework for mission makers to use.
IGN Event Framework gives mission makers custom event support, being able to define events, add handlers, and raising events. There is support for MP as well (serverEvent, localEvent, clientEvent, etc)
While CBA does have similar support for custom events, it is an addon that includes other functions. If you just want to be able to create and use custom events in a light weight and addon free way, this will be a great addition for you.
The framework was originally developed back in 2014 when I released Tiger Shark on the steam workshop (which heavily used it for updating tasks and controlling mission flow). Most of the 'pilot xxx' missions on Steam Workshop also use this framework.
"An event is a message sent by an object to signal the occurrence of an action.
The action could be caused by user interaction, such as a mouse click, or it could be triggered by some other program logic. The object that raises the event is called the event sender. The object that captures the event and responds to it is called the event receiver." - MSDN -Events and Delegates for .NET
This is an 'API' specifically designed for scripters to create and manage their own custom events.
These set of calls will allow you to specify an event for any situation, as well as allow you to:
- Register handlers
- Manipulate handles in the event
- Delete handlers
- Raise Event and specify what arguments to pass to handlers
- Delete Events
- Create Events for Server, Client, Local with appropriate broadcasts
Installation / Usage:
For usage instructions and information of how to use the GN Events Framework please refer to the included documentation and/or example mission.
The download comes with demo missions, documentation, and in 2 flavors - the typical scripted approach, and CfgFunctions approach, with instructions on how to install using both.
Documentation is included with a list of all calls and explanations for each in the Docs folder.
There is a manual.pdf included, but it's not complete by any means (it merely explains event handling for newbies that may want to understand how it works).
There are also some functions for creating functors/function objects, but this is still work in progress.
Please feel free to leave feedback and any bugs encountered using this.
- added path parameter to IGN_EH_INIT.sqf, which lets you specify the path where IGN will compile scripts from. Useful if you wish to move the folder to a different directory.
- compileFinal used instead of compile
- rewrite of all functions to utilize new scripting commands (push, params, etc)
- added proper MP support with global events and remote handlers
- added new demo mission IGN_EH_MPDemo1_DedicatedServer.VR which showcases using events on dedicated server with clients
- updated documentation
- BI forums