Changes
Page history
Update wiki to match gradle conversion
authored
Dec 17, 2020
by
Derek Williams
Hide whitespace changes
Inline
Side-by-side
How-to-add-Terminal-Commands.md
View page @
a3490d47
...
@@ -15,8 +15,8 @@ Terminal Command Overview
...
@@ -15,8 +15,8 @@ Terminal Command Overview
# Two types of Commands
# Two types of Commands
*
Client Side Commands
*
Client Side Commands
*
Commands that don't require information from other servers or the datasource
*
Commands that don't require information from other servers or the datasource
*
Server Side Commands
*
Server Side Commands
*
Commands that need to query the database for information on the player or players
*
Commands that need to query the database for information on the player or players
# Client Side Commands
# Client Side Commands
*
Goes in the GameClient in the model.terminal package
*
Goes in the GameClient in the model.terminal package
...
@@ -27,7 +27,7 @@ Terminal Command Overview
...
@@ -27,7 +27,7 @@ Terminal Command Overview
*
Goes in the GameServer in the model.terminal package
*
Goes in the GameServer in the model.terminal package
*
These commands need to use the gateways to access the database
*
These commands need to use the gateways to access the database
# How the commands are stored
# How the commands are stored
*
The TerminalManager singleton contains a HashMap that is built using reflection in the buildHashMap method()
*
The TerminalManager singleton contains a HashMap that is built using reflection in the buildHashMap method()
*
There are two instances of the HashMap, one on the client and one on the server
*
There are two instances of the HashMap, one on the client and one on the server


...
@@ -44,7 +44,7 @@ The buildHashMap() method used to add the commands to the hashmap
...
@@ -44,7 +44,7 @@ The buildHashMap() method used to add the commands to the hashmap
*
We strip the arguments from the command identifier, store them as a String array, and pass them onto the execute
*
We strip the arguments from the command identifier, store them as a String array, and pass them onto the execute
*
We then check if the command is in the server HashMap
*
We then check if the command is in the server HashMap
*
If it is, we run its execute method
*
If it is, we run its execute method
*
We pass in the argument array and the playerID into the execute method
*
We pass in the argument array and the playerID into the execute method
*
Some commands don't need either the argument or the playerID
*
Some commands don't need either the argument or the playerID
*
You just don't use either if you don't need it
*
You just don't use either if you don't need it
*
All the execute methods return a string
*
All the execute methods return a string
...
@@ -62,8 +62,3 @@ Adding a Command
...
@@ -62,8 +62,3 @@ Adding a Command
*
Then you create the command in the appropriate package and have it extend the TerminalCommand Abstract
*
Then you create the command in the appropriate package and have it extend the TerminalCommand Abstract
*
You can then just have eclipse fill in the method signatures for you
*
You can then just have eclipse fill in the method signatures for you
*
Make sure you create the description and identifier variables with the appropriate contents
*
Make sure you create the description and identifier variables with the appropriate contents