<commit_before>h1. eDriven Framework: event-driven framework for Unity3d.

h2. Author: <NAME>

Event-driven applications are all around you.
Should games be event-driven? I think they should - because the event-driven applications are more modular, decoupled, maintainable and upgradeable.

*eDriven will change the way you think.*

h2. Concept

 * eDriven framework is the result of 10 years of programming experience, self-education and research. 
 * It is inspired by RIA (Rich Internet Applications) frameworks, such as Apache Flex and other Actionscript and Javascript frameworks.
 * The idea behind the building of a framework was to bring the event-driven programming paradigm to Unity.
 * There has been a number of libraries for Unity, but I decided to go with my own. The reasoning behind this was that I wanted to build other libraries upon my event-dispatching system and I wanted the total control.
 * .NET framework events were not appropriate.
 * There are two different event-dispatching systems inside eDriven: 
    1) Signals
	2) Events
 * Signals are inspired by "Robert Panner's Signals":https://github.com/robertpenner/as3-signals and are used for all internals. Signals are faster then events because there's no instantiation involved. Also, your class doesn't require the inheritance of some base (dispatcher) class.
 * Events are more common and are inspired by "DOM Level 3 Events":http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/. They support event bubbling, which is important for GUI. The class that needs to dispatch events has to inherit from the EventDispatcher class.

h2. Event syntax

<pre><code>button.AddEventListener(MouseEvent.CLICK, ClickHandler);

private void ClickHandler(Event e)
{
	Button button = e.Target as Button;
	//Debug.Log("Clicked button with label: " + button.Label);
	
	// or
	MouseEvent me = (MouseEvent)e;
	Point position = me.GlobalPosition;
	//Debug.Log("Clicked at the position: " + position);
}

</code></pre>
<commit_msg>Changed README<commit_after>h1. eDriven Framework: event-driven framework for Unity3d.

h2. Author: <NAME>

Event-driven applications are all around you.
Should games be event-driven? 
I think they should - because the event-driven applications are more modular, decoupled, maintainable and upgradeable.

*eDriven will change the way you think.*

h2. Concept

 * eDriven framework is the result of 10 years of programming experience, self-education and research. 
 * It is inspired by RIA (Rich Internet Applications) frameworks, such as Apache Flex and other Actionscript and Javascript frameworks.
 * The idea behind the building of a framework was to bring the event-driven programming paradigm to Unity.
 * There has been a number of libraries for Unity, but I decided to go with my own. The reasoning behind this was that I wanted to build other libraries upon my event-dispatching system and I wanted the total control.
 * .NET framework events were not appropriate.
 * There are two different event-dispatching systems inside eDriven: 
    1) Signals
	2) Events
 * Signals are inspired by "Robert Panner's Signals":https://github.com/robertpenner/as3-signals and are used for all internals. Signals are faster then events because there's no instantiation involved. Also, your class doesn't require the inheritance of some base (dispatcher) class.
 * Events are more common and are inspired by "DOM Level 3 Events":http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/. They support event bubbling, which is important for GUI. The class that needs to dispatch events has to inherit from the EventDispatcher class.

h2. Event syntax

<pre><code>button.AddEventListener(MouseEvent.CLICK, ClickHandler);

private void ClickHandler(Event e)
{
	Button button = e.Target as Button;
	Debug.Log("Clicked button with label: " + button.Label);
	
	// or
	MouseEvent me = (MouseEvent)e;
	Point position = me.GlobalPosition;
	Debug.Log("Clicked at position: " + position);
}

</code></pre>

{'fraction_non_alphanumeric': 0.07178714859437751, 'fraction_numerical': 0.012550200803212851, 'mean_word_length': 4.429155313351498, 'pattern_counts': {'":': 4, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5580563', 'n_tokens_mistral': 1118, 'n_tokens_neox': 1043, 'n_words': 506}