made help commands
This commit is contained in:
parent
4c0d8270b3
commit
5fdf7317c1
@ -19,6 +19,7 @@ class CommandManager implements CallbackListener {
|
|||||||
private $maniaControl = null;
|
private $maniaControl = null;
|
||||||
private $helpManager = array();
|
private $helpManager = array();
|
||||||
private $adminCommandListeners = array();
|
private $adminCommandListeners = array();
|
||||||
|
private $commandListeners = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct a new Commands Manager
|
* Construct a new Commands Manager
|
||||||
@ -29,7 +30,7 @@ class CommandManager implements CallbackListener {
|
|||||||
$this->maniaControl = $maniaControl;
|
$this->maniaControl = $maniaControl;
|
||||||
|
|
||||||
//Create help manager instance
|
//Create help manager instance
|
||||||
$this->helpManager = new HelpManager($this->maniaControl, $this);
|
$this->helpManager = new HelpManager($this->maniaControl);
|
||||||
|
|
||||||
// Register for callback
|
// Register for callback
|
||||||
$this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERCHAT, $this, 'handleChatCallback');
|
$this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERCHAT, $this, 'handleChatCallback');
|
||||||
|
@ -3,10 +3,12 @@
|
|||||||
namespace ManiaControl\Commands;
|
namespace ManiaControl\Commands;
|
||||||
|
|
||||||
|
|
||||||
|
use ManiaControl\Callbacks\CallbackListener;
|
||||||
|
use ManiaControl\Callbacks\CallbackManager;
|
||||||
use ManiaControl\ManiaControl;
|
use ManiaControl\ManiaControl;
|
||||||
use ManiaControl\Players\Player;
|
use ManiaControl\Players\Player;
|
||||||
|
|
||||||
class HelpManager implements CommandListener {
|
class HelpManager implements CommandListener, CallbackListener {
|
||||||
/**
|
/**
|
||||||
* Private Properties
|
* Private Properties
|
||||||
*/
|
*/
|
||||||
@ -19,20 +21,49 @@ class HelpManager implements CommandListener {
|
|||||||
*
|
*
|
||||||
* @param \ManiaControl\ManiaControl $maniaControl
|
* @param \ManiaControl\ManiaControl $maniaControl
|
||||||
*/
|
*/
|
||||||
public function __construct(ManiaControl $maniaControl, CommandManager $commandManager) {
|
public function __construct(ManiaControl $maniaControl) {
|
||||||
$this->maniaControl = $maniaControl;
|
$this->maniaControl = $maniaControl;
|
||||||
|
|
||||||
|
// Register for callbacks
|
||||||
|
$this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_ONINIT, $this, 'handleOnInit');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function handleOnInit(array $callback) {
|
||||||
//Register the help command
|
//Register the help command
|
||||||
$commandManager->registerCommandListener('help', $this, 'command_playerHelp', false);
|
$this->maniaControl->commandManager->registerCommandListener('help', $this, 'command_playerHelp', false);
|
||||||
|
$this->maniaControl->commandManager->registerCommandListener('help', $this, 'command_adminHelp', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows a list of Admin Commands
|
||||||
|
*
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
|
public function command_adminHelp(array $chat, Player $player) {
|
||||||
|
//TODO only show first command in command arrays
|
||||||
|
$message = '$sSupported Admin Commands: ';
|
||||||
|
foreach(array_reverse($this->adminCommands) as $command) {
|
||||||
|
$message .= $command['Name'] . ',';
|
||||||
|
}
|
||||||
|
$message = substr($message, 0, -1);
|
||||||
|
$this->maniaControl->chat->sendChat($message, $player->login);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shows a list of Player Commands
|
||||||
|
*
|
||||||
|
* @param array $chat
|
||||||
|
* @param Player $player
|
||||||
|
*/
|
||||||
public function command_playerHelp(array $chat, Player $player) {
|
public function command_playerHelp(array $chat, Player $player) {
|
||||||
$string = '';
|
//TODO only show first command in command arrays
|
||||||
|
$message = '$sSupported Player Commands: ';
|
||||||
foreach($this->playerCommands as $key => $value) {
|
foreach(array_reverse($this->playerCommands) as $command) {
|
||||||
var_dump($key, $value);
|
$message .= $command['Name'] . ',';
|
||||||
}
|
}
|
||||||
|
$message = substr($message, 0, -1);
|
||||||
|
$this->maniaControl->chat->sendChat($message, $player->login);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user