Eric Solà (Programmer)

Every GameObject has a world and local transformation that is manager by the ComponentTransformation that is automatically generated when a GameObject is created to locate it in the scene. Transformations respect the GameObjects hierarchy so when the hierarchy is modified the related GameObjects need to update his transformations.

You can swap between two cameras, the Game camera and the Scene camera. The Game camera is automatically turned on when the PLAY button is pressed and show the scene from the point of view of the main CameraComponent.

Mouse picking system sends a 3D ray-cast from the 2D world where the mouse moves to find if there's a GameObject that collides with it. If there's collision the GameObject is set as selected.To detect collection first collides with the bounding boxes of the game objects and then iterate the collided elements to check if theres a collision with a mesh.

Fiesta Engine have a docking system to manage the different windows that provides a more optimal way to place all the UI and let the user configure if freely.

Gizmos are UI element that let you modify a GameObject position, rotation and scale with simple input like click and drag that UI elements placed in the object position.

Engine Launcher is a program that checks if the used engine version is the latest. If not you can pulse the download button that appears to download the last one. This program is executed before the engine and is shown in a small window that let you choose between close or open the engine or update if your version is deprecated.

Every GameObject have his bounding box adjusted to the mesh component in case it have one. Bounding boxes system is an optimization for the mouse picking, so the ray-cast send by the mouse picking system collides first with the bounding boxes.

File system basically manages all the folders used during the engine execution and save the paths in Direction classes to let the rest of modules use them to load/save or simply access files. Also provides a bunch of methods to modify strings useful to tract with paths and file names and formats.

.

Simple UI icons to guide the user around the engine elements. This icons are used for the GameObjects and the PLAY/PAUSE system.

The Dll is the responsible of embedding mono into our c++ engine. It will provide the basic functionality to compile and execute code from c# scripts, set and get fields and attach c# methods to c++ ones