wateret/mengde

Refactor Game API

Closed this issue · 4 comments

Currently GUI module handles the game API directly and it is possible the GUI can has more permission than it was intended. For example, move a unit to anywhere (regardless of its move stat) is possible.

Let's remove GUI dependent interface for game engine.

UserInterface class has been introduced.

The goal is gui::app does not use Game(will be renamed as Stage) directly, instead it uses UserInterface.

As well as, we need to remove all Unit and other non-const pointers to core module.

Finally UserInterface class is available and UI modules must use it to access to the engine!