当前位置: 首页>>代码示例>>PHP>>正文


PHP Server::addPlayer方法代码示例

本文整理汇总了PHP中pocketmine\Server::addPlayer方法的典型用法代码示例。如果您正苦于以下问题:PHP Server::addPlayer方法的具体用法?PHP Server::addPlayer怎么用?PHP Server::addPlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pocketmine\Server的用法示例。


在下文中一共展示了Server::addPlayer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: openSession

 public function openSession($identifier, $address, $port, $clientID)
 {
     $ev = new PlayerCreationEvent($this, Player::class, Player::class, \null, $address, $port);
     $this->server->getPluginManager()->callEvent($ev);
     $class = $ev->getPlayerClass();
     $player = new $class($this, $ev->getClientId(), $ev->getAddress(), $ev->getPort());
     $this->players[$identifier] = $player;
     $this->identifiersACK[$identifier] = 0;
     $this->identifiers->attach($player, $identifier);
     $this->server->addPlayer($identifier, $player);
 }
开发者ID:Edwardthedog2,项目名称:Steadfast2,代码行数:11,代码来源:RakLibInterface.php

示例2: handleDataPacket

 public function handleDataPacket(DataPacket $pk)
 {
     $this->logger->debug("Received packet " . $pk::NETWORK_ID . " from {$this->serverIp}:{$this->port}");
     switch ($pk::NETWORK_ID) {
         case Info::INFORMATION_PACKET:
             /** @var InformationPacket $pk */
             switch ($pk->type) {
                 case InformationPacket::TYPE_LOGIN:
                     if ($pk->message == InformationPacket::INFO_LOGIN_SUCCESS) {
                         $this->logger->info("Login success to {$this->serverIp}:{$this->port}");
                         $this->verified = true;
                     } elseif ($pk->message == InformationPacket::INFO_LOGIN_FAILED) {
                         $this->logger->info("Login failed to {$this->serverIp}:{$this->port}");
                     }
                     break;
                 case InformationPacket::TYPE_CLIENT_DATA:
                     $this->clientData = json_decode($pk->message, true);
                     $this->lastRecvInfo = microtime();
                     break;
             }
             break;
         case Info::PLAYER_LOGIN_PACKET:
             /** @var PlayerLoginPacket $pk */
             $player = new Player($this->synLibInterface, mt_rand(0, PHP_INT_MAX), $pk->address, $pk->port);
             $player->setUniqueId($pk->uuid);
             $this->server->addPlayer(spl_object_hash($player), $player);
             $this->players[$pk->uuid->toBinary()] = $player;
             $player->handleLoginPacket($pk);
             break;
         case Info::REDIRECT_PACKET:
             /** @var RedirectPacket $pk */
             if (isset($this->players[$uuid = $pk->uuid->toBinary()])) {
                 $pk = $this->getPacket($pk->mcpeBuffer);
                 $pk->decode();
                 $this->players[$uuid]->handleDataPacket($pk);
             }
             break;
         case Info::PLAYER_LOGOUT_PACKET:
             /** @var PlayerLogoutPacket $pk */
             if (isset($this->players[$uuid = $pk->uuid->toBinary()])) {
                 $this->players[$uuid]->setConnected(false);
                 $this->players[$uuid]->close("", $pk->reason);
                 $this->removePlayer($this->players[$uuid]);
             }
             break;
     }
 }
开发者ID:AnonymousProjects,项目名称:PocketMine-MP-Original,代码行数:47,代码来源:Synapse.php


注:本文中的pocketmine\Server::addPlayer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。