public function run(array $args, Session $session) { if (strtolower($args[0]) == "local") { if ($session->getCurrentChatState() === Session::CHANNEL_LOCAL) { $session->getPlayer()->sendMessage(TextFormat::RED . "The channel state is already local"); } else { $session->currentChatState = Session::CHANNEL_LOCAL; } } if (strtolower($args[0]) == "team") { if ($session->getCurrentChatState() === Session::CHANNEL_TEAM) { $session->getPlayer()->sendMessage(TextFormat::RED . "The channel state is already the team"); } else { $session->currentChatState = Session::CHANNEL_TEAM; } } if (strtolower($args[0]) == "create") { if (isset($args[1])) { $session->joinChannel($args[1]); $session->getPlayer()->sendMessage(TextFormat::AQUA . $args[1] . "has been created!"); } else { $session->getPlayer()->sendMessage(TextFormat::RED . "Please specify a channel to be created"); } } }
protected function run(array $args, Session $sender) { if (!isset($args[0])) { switch ($sender->getCurrentChatState()) { case Session::CHANNEL_LOCAL: $sender->send(Phrases::CMD_CHANNEL_VIEW_LOCAL); break; case Session::CHANNEL_TEAM: $sender->send(Phrases::CMD_CHANNEL_VIEW_TEAM); break; default: $sender->send(Phrases::CMD_CHANNEL_VIEW_OTHER, ["chan" => $sender->getCurrentChatState()]); } return $sender->translate(Phrases::CMD_CHANNEL_VIEW_SUBSCRIBING_TO_CHANNELS, ["channels" => implode(", ", $sender->getChannelSubscriptions())]); } $name = array_shift($args); if (strtolower($name) === "local" or strtolower($name) === "g" or strtolower($name) === "l") { $sender->setCurrentChatState(Session::CHANNEL_LOCAL); return $sender->translate(Phrases::CMD_CHANNEL_SET_LOCAL); } elseif (strtolower($name) === "team" or strtolower($name) === "t") { if ($sender->getTeamId() === -1) { return $sender->translate(Phrases::CMD_TEAM_ERR_NOT_IN_TEAM); } $sender->setCurrentChatState(Session::CHANNEL_TEAM); return $sender->translate(Phrases::CMD_CHANNEL_SET_TEAM); } elseif (strtolower($name) === "quit") { if (!isset($args[0])) { return false; } $ch = array_shift($args); if (!$sender->isOnChannel($ch)) { return $sender->translate(Phrases::CMD_CHANNEL_QUIT_NOT_ON_CHANNEL); } $sender->partChannel($ch); return $sender->translate(Phrases::CMD_CHANNEL_QUIT_SUCCESS); } else { if (!$sender->isOnChannel($name)) { $sender->joinChannel($name); $sender->send(Phrases::CMD_CHANNEL_JOINED_SELF, ["channel" => $name]); } $sender->setCurrentChatState($name); return $sender->translate(Phrases::CMD_CHANNEL_SET_OTHER, ["chan" => $name]); } }
public function run(array $args, Session $session) { if (strtolower($args[0]) == "local") { if ($session->getCurrentChatState() === Session::CHANNEL_LOCAL) { $session->getPlayer()->sendMessage(TextFormat::RED . "The channel state is already local"); } else { $session->currentChatState = Session::CHANNEL_LOCAL; } } if (strtolower($args[0]) == "team") { if ($session->getCurrentChatState() === Session::CHANNEL_TEAM) { $session->getPlayer()->sendMessage(TextFormat::RED . "The channel state is already the team"); } else { $session->currentChatState = Session::CHANNEL_TEAM; } } if (!isset($args[0])) { return false; } else { $channel = array_shift($args); $session->joinChannel($channel); return $session->getPlayer()->sendMessage(TextFormat::AQUA . "You have joined the channel " . $channel); } }