Stendhal code design: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>Durkham
No edit summary
imported>Durkham
No edit summary
Line 15: Line 15:
* Settings contains minimap , bag i.e. all those windows that now scatter the ground window.
* Settings contains minimap , bag i.e. all those windows that now scatter the ground window.


to be continued....


=== Base Client ===


The base client ([ideally] free of any specific UI) is '''StendhalClient'''. It is responsible for interacting with the server, maintaining private user information/state, and dispatching object events.




=== Base Client ===
=== Threading model for the inGameGui ===
http://img101.imageshack.us/img101/5932/threadsbb3.png


The model part in the above image contains more than the pure model. It also contains the controller part.
The base client ([ideally] free of any specific UI) is '''StendhalClient'''. It is responsible for interacting with the server, maintaining private user information/state, and dispatching object events.


What we want to achieve is a really dumb gui that listens to the model changes and only knows how to paint things.
We want a model that holds the state of the game.

and we want a controller that holds the logic, how to handle the messages from network/Server.

if we want to have a MVC (Model-View-Controller) or a HMVC (Hierarchical-MVC) is still to be decided.
Both need a high discipline until installed. The latter has the advantage to keep things together that belong together, higher modularity and probably higher maintainability, but would request the restructuring of the whole client. ( Which we intend to do anyway )

to be continued....


=== Entities ===
=== Entities ===