Tools, other Objects and Helpers - Grisgram/gml-raptor GitHub Wiki
Beside all the subsystems and objects in raptor
, as in any other platform, there are also some functions, scripts, and other helpers that can make your life easier.
I want to encourage you to take a look into the Tools
folder of the project template inside the _gml_raptor_
folder.
Almost all of the utils have a quite comprehensive File Comment Header at the top explaining what the class is used for.
To name the most useful contents of the Tools
folder, here is a list of the most important helpers in alphabetical order, not in order of their importance:
Audio | Background music, ambience, ui, sounds and voice channels |
Broadcasting | A message broadcasting system to track your achievements or to send out anything to the game |
Buffers |
Buffer management, encrypting, hex-dumps for debugging and more |
CanvasDrawer | A wrapper object for the Canvas library by @tabularelf which draws a Canvas as if it were a sprite |
Coordinate Helpers | A set of coordinate calculation classes for 2D, 3D and 4D vectors |
Eye | The Eye is an extremely useful object for camera control and multi-layer parallax scrolling effects in your game |
File Access (Sync/Async) | A group of very handy helpers to load/save files with high performance due to buffer usage. This is one of the most important bases for the Savegame system. |
LayerManager TileScanner
|
Two utility classes that help you batch-set layer visibility of entire groups, change background color, scan tile layers, provide detailled tile information and allow you to modify tile layers at will |
LinqArray |
If you know C#, then you know Linq. This is an array implementation that lets you work with methods like .Where(..).Skip(2).Select(...) as you know it from the .net world |
ListPool | A simple list extension with a process_all method. It's the base for the StateMachine and Animation pools of raptor
|
Little Helpers | A group of functions that did not fit anywhere else, like is_any_of(..) , is_between(..) and similar micro functions |
ObjectPool | Push/Pull instances instead of creating and destroying them |
PopupManager |
A basic helper system for overlays and popups |
RingBuffer |
A standard RingBuffer (wikipedia link) implementation, that keeps the last n entries of anything. Easy to use, very performant |
SpriteDim |
var dims = new SpriteDim(sprite_index); A small utility class, that reads the dimensions and nine-slice information from a sprite_index, fail-safe with defaults if anything does not exist |
Strings |
String helper functions, like sprintf , starts_with , ends_with , skip_start , skip_end and many more |
Structs |
Some struct enhancements for nested structs, like set_by_path , get_by_path , integrate , join ... |
TileScanner | A powerful tool for modifying and analyzing tile layers, with a delta-mechanism to save and restore modified maps |
Unit Testing | A complete unit testing suite for your data classes. See how you can test your code! |