Skip to content
generateui edited this page Dec 18, 2010 · 6 revisions

In order of importance:

  • Refactor SOCServer.java
    1. Create MessageHandler abstract base class
    2. Add public void MessageHandler createHandler(GameAction action) factory method to create handlers from messages(GameActions)
    3. Define MessageHandler signature
    4. Replace HandleXXX methods with MessageHandler instance calls
  • Create proper object oriented API model
  • Create extensible client object model
  • Upgrade to serialization framework
    1. Add two-way Json serialization to project
    • This is a particular hard problem, since no client-side reflection is present (GWT does not support this)
    • json4g solves this using gwt-ent. However, there is no support for inheritance.
    1. Create prototype server/client sending messages to ach other using WebSockets and GWTJsonizer
    2. When [2] is successfull, gradually replace all manual serialization code to use GWTJsonizer
  • Refactor SocMessages / merge SettleIn.GameAction to SocMessage
  • Add observable mechanism for most classes in soc.common, so views and controllers can be notified of changes in class instances
  • Test soc.common for correctness using unit tests
  • Design a true OO way to deal with variants
    1. Each variant must be able to be played simultaneously with all others
    2. Some functionality will be overridden by a variant. For example, when players choose C&K, development cards will be replaced by C&K's development cards.
Clone this wiki locally