User:Jaxad0127/State machine

From The Mana World
Revision as of 17:38, 8 April 2009 by Jaxad0127 (talk | contribs) (Start login machine)

This article describes the internal state machines used in the client.

The core state machine is rather simple:

            -> Exit <-
            |        |
Start -> Login <-> Game
     \     v      /
      -> Error <--

Both Login and Game are sub machines.

The Login machine is more complicated. All states can go to Error, all but Start can go to Exit.


Start To Condition
Start Server No login data is present (default; some may be present if we've already chosen a server and just want to switch accounts, or characters)
Login Login server data present, but no login information present (we want to change logins, but not servers)
Character Login data present (we just want to change characters)
Server Server Detection User selects a server
Server Detection Server Server type could not be determined
Login Server type was successfully determined
Login Server User wants to change servers
Login Attempt User tries to log in
Register User wants to make a new account
Login Attempt Login Login attempt failed (bad password, unknown username, etc)
Character Login attempt succeeded
Character Login User wants to use another account
Game Character selected
New User wants to make a new character
Delete User wants to delete a character
Account Detail User wants to view/change account information
Register Login User cancels registration
Register Attempt User tries to register
Register Attempt Character Registration succeeded
Register Attempt Registration failed