

Blood Of Evil
To give you an idea about all the features developped
​
​
What I implemented for this patch (19/08/2016) :
- 
Player :
- 
Services :
- 
Windows managment :
- 
Open and close a window with a keys combinaison, those keys can be configured.
 - 
Fade in / fade out effect on the opening and closing of windows.
 - 
The interactibility of windows are handle by it transparency.
 - 
Those system is link to an player input system that can be configured
 - 
Each windows are draggable.
 - 
Each windows are closable with a generic exit button.
 - 
Each window have a shadow effect.
 - 
It is possible to close all windows with the "escape" key (input event : CloseAllCanvas).
 - 
When a windows is selected, it hold at top of other windows.
 - 
When a window is open an event is thrown and it is not possible to move or attack.
 
 - 
 - 
Language managment :
- 
Modify the language at run-time.
 - 
Modify current language content at run-time.
 - 
Save a language file.
 - 
Load a language file.
 - 
Throw an event on language modification.
 
 - 
 
 - 
 - 
Menus :
- 
Language Editor :
- 
Edit language file content.
 - 
Save, load, reload a file content.
 
 - 
 - 
Attribute Editor :
- 
Allow to see and edit each sub values of each attributes.
 
 - 
 
 - 
 
 - 
 
​
​
- 
Architecture :
- 
Language & attributes management :
- 
Use a simple array of array (string[][] and EntityAttributes[][]) instead of a dictionary or a hashmap.
 - 
To make this possible I categorised my nodes with an enumeration and hashID. (int[][] hashIDS).
 - 
To recover an element I need it enumeration index and it hash index.
 
 - 
 - 
Language management :
- 
I thrown an event when I change the language, it allow to update the texts of my interfaces.
 - 
I use a JSON extension but binary will come a bit later to make my application run faster.
 
 - 
 - 
Attributes managment :
- 
I throw an event when the value are modified, it allow to update my interface at right time.
 
 - 
 - 
Menu :
- 
Language line and attributes line use the objects pool to avoid new and delete at run-time.
 - 
Each texts are updated when the language is modified thanks my own event system.
 
 - 
 
 - 
 







