= Director Control Panel = The [[Director Control Panel]] provides a GUI "swiss army knife" for the Quagents [[Director]]. It provides the user intuitive controls for manipulating other players, Quagents, and the game world in general. == Quagents Implementation == The control panel provides a set of graphical hooks for accessing director commands. These commands may be separated into two semantically distinct sets - commands which affect a single player or Quagent and commands which affect the game world as a whole. As such, the panel is separated into two distinct tabbed panels - one for the former and one for the latter. Each button, field, and drop box present in the GUI references (directly or indirectly) a [[ProtocolZero]] director command. Currently, the scenario spawns a player character in addition to creating a director connection. This will be patched in the next version of Quagents to provide only a director connection and ability to follow any connected entity's viewpoint. For more information, see the below TODO section. == User Notes == The following are screenshots of the control panel: [[Image(controlpanel1.png)]] ''"Quagents" tab of the control panel'' This tab provides access to all individual entity-related commands. Currently, this consists of getting health, armor and location (via the refresh buttons), and setting health and armor (via entry into the that field). The dropbox contains a list of all connected entities, Quagent or player, and allows director access to any desired entity. [[Image(controlpanel2.png)]] ''"World" tab of the control panel'' This tab provides access to macroscopic game conditions. Note that the textarea, which displays important events, is located outside of the tabbed panes. == Development Notes == The control panel is simply a GUI mask over director commands. Each field, button, and drop box has a direct mapping to a relevant director command, via Java Swing ActionListeners.