* replaced the BorrowAs trait with ObjectOrVariant trait; added explicit trait bounds in pool and graph's typed_ref method. * renamed pool's typed_ref to try_get * renamed try_get to try_get_node in BaseSceneGraph * deleted try_get_mut from impl Graph, and replaced all occurrences with try_get_node_mut * renamed typed_ref in SceneGraph to try_get * added graph::prelude which contains AbstractSceneGraph, BaseSceneGraph and SceneGraph traits; added use graph::prelude::* in the script template to expose try_get functionalities. * resolved merge issues * formatted code * added use fyrox::graph::prelude::* to template game/src/lib.rs to expose UserInterface's try_get functionality * added "#[allow(unused_imports)]" on game template and script template
Fyrox Engine Template Generator
This tiny utility handles project and script generation for Fyrox Game Engine.
Installation
Install it via cargo install:
cargo install fyrox-template
Generating New Project
fyrox-template init [--name <name> --style <style>]
name- a name of new project (default ismy_game)style- defines a default scene type, either2dor3d(default is3d)
It creates a workspace with three projects:
- Game - your game project (library)
- Editor - the editor with your game attached as a plugin
- Executor - the "runner" for your game.
It also populates each project with boilerplate code. The main purpose of the project is to reduce amount of time that is needed to set up a new project.
It will create a new folder with <project_name> and it will contain three projects, runnable only two of them:
cargo run --package editor --release- to run your game inside the editor.cargo run --package executor --release- to run your game as a standalone project. It will also produce final binary of your game, that can be shipped to a store.
Tips
There is nothing special in generated project, so you can tweak them as you wish.
Adding New Scripts
fyrox-template script [--name <name>]
name- a name of your script (default isMyScript)
The tool is also capable to generate script skeleton for you, filling it with all required boilerplate. Generated scripts
will be added to game/src folder, so you should run the tool from the root folder of your game (where the root Cargo.toml
is located).
Do not forget to add the script to your module tree at required position, you probably will need some small tweaks to generated content, it can be easily automated by modern IDEs.