1 #ifndef CORE_GAME_GAME_HPP
2 #define CORE_GAME_GAME_HPP
20 #include <BLIB/Engine/Engine.hpp>
21 #include <BLIB/Util/NonCopyable.hpp>
23 int main(
int,
char**);
47 class Systems :
private bl::util::NonCopyable {
52 const bl::engine::Engine&
engine()
const;
57 bl::engine::Engine&
engine();
185 bl::engine::Engine& _engine;
210 friend class ::tests::SystemsHelper;
Core classes and functionality for both the editor and game.
Manages NPC's and trainers and their behaviors.
Simple time keeping systems. Tracks in game time and date based on real elapsed play time.
Simple systems for performing batch locks and unlocks on all controllable entities.
Basic helper system for creating entities and their required components. Also manages player data and...
Special system to manage player flight between their current location and a town.
The primary HUD system for the player. Manages displaying messages and asking questions....
The main interaction system. Manages interaction between entities. Handles item logic and NPC convers...
Primary System for managing entity movement and interpolation.
Primary system for managing the player and their data.
The primary entity positioning system. Handles determining which entities get updated as well as trac...
Basic system that synchronizes animation states based on movement state events.
System that stores and handles saving/loading of save entries for scripts.
Owns all primary systems and a reference to the engine.
const bl::engine::Engine & engine() const
Const accessor for the Engine.
AI & ai()
Returns the AI system.
Entity & entity()
Returns the entity system.
Movement & movement()
Returns a reference to the movement system.
Render & render()
Returns the render system.
Player & player()
Returns the player system.
Flight & flight()
Returns the flight system.
Position & position()
Returns a reference to the position system.
Scripts & scripts()
Returns the scripting system.
Trainers & trainers()
Returns the trainer system.
Controllable & controllable()
Returns the controllable entity system.
Clock & clock()
Accessor for the in game clock.
HUD & hud()
Returns the HUD.
WildPeoplemon & wildPeoplemon()
Returns the wild peoplemon system.
World & world()
Modifiable accessor for the world system.
Interaction & interaction()
Returns the interaction system.
This system manages trainers. It handles their vision and makes them walk up to the player.
Manages the appearances of wild peoplemon when walking through catch tiles.
System for managing the current map and previous maps.