public static function attatchFramework(Framework $framework)
 {
     self::$framework = $framework;
     self::$instance->getLogger()->info(TextFormat::BLUE . "[GCFramework] Framework attatched!");
 }
Exemplo n.º 2
0
 public static function onGameWin(XcelGame $game, array $winner)
 {
     $winnerDisplayName = [];
     $winnerName = [];
     /**
      * @var $xcelPlayer XcelPlayer
      */
     foreach ($winner as $xcelPlayer) {
         $winnerDisplayName[] = $xcelPlayer->getPlayer()->getDisplayName();
         $winnerName[] = $xcelPlayer->getPlayer()->getName();
     }
     if (count($winner) > 0) {
         $text = TextFormat::AQUA . self::getTranslation("FINISHED_WINNER", $game->getServerId(), $game->getGameName(), implode(", ", $winnerDisplayName));
     } else {
         $text = TextFormat::AQUA . self::getTranslation("FINISHED_NO_WINNER", $game->getServerId(), $game->getGameName());
     }
     GCFramework::getFramework()->onGameFinish($game->getUniqueGameName(), $winnerName, $text);
 }
 public function broadcastDescriptionTo(CommandSender $sender, $gameName)
 {
     GCFramework::sendPacket($this->mainServer["ip"], $this->mainServer["port"], ["TYPE" => GCFramework::PACKET_TYPE_GET_DESCRIPTION, "USER" => $sender instanceof Player ? $sender->getName() : null, "NAME" => $gameName]);
 }
 public function onPacketRecieve(CustomPacketReceiveEvent $event)
 {
     //echo "Incoming Packet!\n";
     if (!in_array($event->getPacket()->address, $this->ipWhitelist)) {
         $this->getLogger()->info(TextFormat::LIGHT_PURPLE . "Packet from " . $event->getPacket()->address . ":" . $event->getPacket()->port . " has been blocked!");
         return;
     }
     $data = json_decode($event->getPacket()->data, true);
     if (!isset($data["TYPE"])) {
         return;
     }
     switch ($data["TYPE"]) {
         case GCFramework::PACKET_TYPE_GAME_FINISH:
             $message = $this->onGameFinish($data["NAME"], $data["WINNER"], $data["MESSAGE"]);
             GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_GAME_MESSAGE, "MESSAGE" => $message]);
             break;
         case GCFramework::PACKET_TYPE_GET_DESCRIPTION:
             GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_DESCRIPTION, "USER" => $data["USER"], "MESSAGE" => $this->getGameDescription($data["NAME"])]);
             break;
         case GCFramework::PACKET_TYPE_GET_GAME_RANK:
             GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_GAME_RANK, "USER" => $data["USER"], "MESSAGE" => $this->getRank($data["NAME"], $data["PAGE"], $data["USER"])]);
             break;
         case GCFramework::PACKET_TYPE_GET_WHOLE_RANK:
             GCFramework::sendPacket($event->getPacket()->address, $event->getPacket()->port, ["TYPE" => GCFramework::PACKET_TYPE_POST_WHOLE_RANK, "USER" => $data["USER"], "MESSAGE" => $this->getWholeRank($data["PAGE"], $data["USER"])]);
             break;
     }
 }