#ifndef __WMUD_CLIENT_STATE_H__ #define __WMUD_CLIENT_STATE_H__ #include /** * WmudClientState: * @WMUD_CLIENT_STATE_FRESH: Client is newly connected. Waiting for a login * player name * @WMUD_CLIENT_STATE_PASSWAIT: Login player name is entered, waiting for a * login password * @WMUD_CLIENT_STATE_MENU: Authentication was successful, player is now in the * main game menu * @WMUD_CLIENT_STATE_INGAME: Character login was successful, player is now * in-game * @WMUD_CLIENT_STATE_YESNO: Player was asked a yes/no question, and we are * waiting for the answer. client.yesNoCallback MUST be set at this point! * TODO: if wmudClient had a prevState field, and there would be some hooks * that are called before and after the client enters a new state, this * could be a three-state stuff, in which the player can enter e.g ? as * the answer, so they would be presented with the question again. * @WMUD_CLIENT_STATE_REGISTERING: Registering a new player. Waiting for the * e-mail address to be given * @WMUD_CLIENT_STATE_REGEMAIL_CONFIRM: E-mail address entered séms valid, * waiting for confirmation * * Game client states. */ typedef enum { WMUD_CLIENT_STATE_FRESH, WMUD_CLIENT_STATE_PASSWAIT, WMUD_CLIENT_STATE_MENU, WMUD_CLIENT_STATE_INGAME, WMUD_CLIENT_STATE_YESNO, WMUD_CLIENT_STATE_REGISTERING, WMUD_CLIENT_STATE_REGEMAIL_CONFIRM } WmudClientState; #endif /* __WMUD_CLIENT_STATE_H__ */