Update README with new layout.

main
Zed A. Shaw 2 days ago
parent 3bc05ad164
commit b9deb3a0de
  1. 15
      README.md

@ -202,22 +202,25 @@ Coming Soon...
The GUECS system is mostly defined in these four files: The GUECS system is mostly defined in these four files:
`guecs.hpp` `guecs/guecs.hpp`
: This defines the base `guecs::UI` class which is a simple mostly template class that handles everything. Most of the template functions are used to perform the ECS style operations like `set<TYPE>(id, VALUE)` to set a specific component `TYPE` to a `VALUE` at the given cell `id` from LEL. : This defines the base `guecs::UI` class which is a simple mostly template class that handles everything. Most of the template functions are used to perform the ECS style operations like `set<TYPE>(id, VALUE)` to set a specific component `TYPE` to a `VALUE` at the given cell `id` from LEL.
`guecs.cpp` `guecs/guecs.cpp`
: Implementation for `guecs::UI` that aren't template based. Main functions here are : Implementation for `guecs::UI` that aren't template based. Main functions here are
`guecs::UI::init()` and `guecs::UI::render()` which do the majority of the heavy lifting. If you're `guecs::UI::init()` and `guecs::UI::render()` which do the majority of the heavy lifting. If you're
looking to retarget GUECS to your game engine or graphics system then this is where to start. looking to retarget GUECS to your game engine or graphics system then this is where to start.
`sfml/components.hpp` `guecs/sfml/components.hpp`
: This is where the SFML based components live. This is where you find `Rectangle`, `Textual`, : This is where the SFML based components live. This is where you find `Rectangle`, `Textual`,
`Label`, and `Clickable` among other things. If you're looking to retarget, then this is what you `Label`, and `Clickable` among other things. If you're looking to retarget, then this is what you
have to write for your system. have to write for your system.
`sfml/components.cpp` `guecs/sfml/components.cpp`
: The implementations for the components, which is mostly just `init`, `update`, and `render` methods. : The implementations for the components, which is mostly just `init`, `update`, and `render` methods.
`guecs/sfml/backend.cpp`
: I'm using my own sprite, sound, and shader loading code but you probably don't want that. Look at this file then write you own versions of these functions. You then call `guecs::init(&my_backend)`. Look in `demos/calc.cpp` for how this is done.
### GUECS Design Theme ### GUECS Design Theme
The overall design theme for the `guecs::UI` is this: The overall design theme for the `guecs::UI` is this:
@ -249,8 +252,8 @@ Give it a shot and soon I'll have a guide on how to do it.
### Fun Features ### Fun Features
1. Look at `guecs::Sound` (in `sfml/components.hpp`) to see how you can add sound feedback to your UI. 1. Look at `guecs::Sound` (in `guecs/sfml/components.hpp`) to see how you can add sound feedback to your UI.
2. Look at `guecs::Effect` (in `sfml/components.hpp`) to see how to apply shaders to your UI. Keep in mind that I don't know a damn thing about shaders. 2. Look at `guecs::Effect` (in `guecs/sfml/components.hpp`) to see how to apply shaders to your UI. Keep in mind that I don't know a damn thing about shaders.
## RPN Calculator Demo ## RPN Calculator Demo

Loading…
Cancel
Save