| 201 | All entities must implement the same functions. |
| 202 | * A ''getWriter'' function which returns the entity's socket writer. |
| 203 | * A ''waitForTerminate'' function which blocks until server response. |
| 204 | * An ''execute'' function which executes a command and blocks until server response. |
| 205 | * A ''start'' command which executes a command but does '''not''' block for server response. |
| 206 | * An ''addEventListener'' command which is fired when a command is returned. |
| 207 | * Several internally-used functions. Many of these are trivial, but necessary for external black-box access. For examples, see the implementation in the Client class. |
| 208 | |
| 211 | In addition to the above, the QuagentEntity must implement: |
| 212 | * Another ''addEventListener'' command, which is used to flag significant in-game events, such as death and messages heard. |
| 213 | * A ''getEventListener'', which returns the in-game event listener. |
| 214 | * A ''setQuagentID'', which assigns an integer id to the quagent given by the server |
| 215 | * A ''getQuagentID'', which returns the above. |
| 216 | * The initial phase commands. |
| 217 | |