Command manager and implemented commands are mixed in several projects and directories.
To clean this up I did:
Libraries/Game.Commands - CommandManager and related files
Tests/Game.Commands.Tests - Only tests the command manager and related files. The CommandTests still exists in the Game.Tests because it tests implemented tests not the command manager
Moved CommandManager and related files to QuantumCore.Game.Commands namespace
Moved some service interfaces like IJobManager and IExperienceManager to CorePluginAPI (bonus - not required)
Added StrictMode (via options) to CommandManager which causes it to throw a CommandHandlerNotFoundException if a command handler cannot be found. This is by default false but is on in tests to help debug if some code is not executed by default.
discovered the need in #125
Command manager and implemented commands are mixed in several projects and directories.
To clean this up I did:
Libraries/Game.Commands
-CommandManager
and related filesTests/Game.Commands.Tests
- Only tests the command manager and related files. TheCommandTests
still exists in theGame.Tests
because it tests implemented tests not the command managerCommandManager
and related files toQuantumCore.Game.Commands
namespaceIJobManager
andIExperienceManager
toCorePluginAPI
(bonus - not required)StrictMode
(via options) toCommandManager
which causes it to throw aCommandHandlerNotFoundException
if a command handler cannot be found. This is by defaultfalse
but is on in tests to help debug if some code is not executed by default.