97 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * ManiaPlanet dedicated server Xml-RPC client
 | |
|  *
 | |
|  * @license     http://www.gnu.org/licenses/lgpl.html LGPL License 3
 | |
|  */
 | |
| namespace Maniaplanet\DedicatedServer\Structures;
 | |
| 
 | |
| class Player extends AbstractStructure
 | |
| {
 | |
| 	public $playerId;
 | |
| 	public $login;
 | |
| 	public $nickName;
 | |
| 	public $teamId;
 | |
| 	public $path;
 | |
| 	public $language;
 | |
| 	public $clientVersion;
 | |
| 	public $clientName;
 | |
| 	public $iPAddress;
 | |
| 	public $downloadRate;
 | |
| 	public $uploadRate;
 | |
| 	public $isSpectator;
 | |
| 	public $isInOfficialMode;
 | |
| 	public $avatar;
 | |
| 	public $skins;
 | |
| 	public $ladderStats;
 | |
| 	public $hoursSinceZoneInscription;
 | |
| 	public $onlineRights;
 | |
| 	public $rank;
 | |
| 	public $bestTime;
 | |
| 	public $bestCheckpoints;
 | |
| 	public $score;
 | |
| 	public $nbrLapsFinished;
 | |
| 	public $ladderScore;
 | |
| 	public $stateUpdateLatency;
 | |
| 	public $stateUpdatePeriod;
 | |
| 	public $latestNetworkActivity;
 | |
| 	public $packetLossRate;
 | |
| 	public $spectatorStatus;
 | |
| 	public $ladderRanking;
 | |
| 	public $flags;
 | |
| 	public $isConnected = true;
 | |
| 	public $allies = array();
 | |
| 	public $clubLink;
 | |
| 
 | |
| 	//Flags details
 | |
| 	public $forceSpectator;
 | |
| 	public $isReferee;
 | |
| 	public $isPodiumReady;
 | |
| 	public $isUsingStereoscopy;
 | |
| 	public $isManagedByAnOtherServer;
 | |
| 	public $isServer;
 | |
| 	public $hasPlayerSlot;
 | |
| 	public $isBroadcasting;
 | |
| 	public $hasJoinedGame;
 | |
| 
 | |
| 	//SpectatorStatus details
 | |
| 	public $spectator;
 | |
| 	public $temporarySpectator;
 | |
| 	public $pureSpectator;
 | |
| 	public $autoTarget;
 | |
| 	public $currentTargetId;
 | |
| 
 | |
| 	function getArrayFromPath()
 | |
| 	{
 | |
| 		return explode('|', $this->path);
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @return Player
 | |
| 	 */
 | |
| 	static public function fromArray($array)
 | |
| 	{
 | |
| 		$object = parent::fromArray($array);
 | |
| 
 | |
| 		$object->skins = Skin::fromArrayOfArray($object->skins);
 | |
| 		//Detail flags
 | |
| 		$object->forceSpectator = $object->flags % 10; // 0, 1 or 2
 | |
| 		$object->isReferee = (bool) (intval($object->flags / 10) % 10);
 | |
| 		$object->isPodiumReady = (bool) (intval($object->flags / 100) % 10);
 | |
| 		$object->isUsingStereoscopy = (bool) (intval($object->flags / 1000) % 10);
 | |
| 		$object->isManagedByAnOtherServer = (bool) (intval($object->flags / 10000) % 10);
 | |
| 		$object->isServer = (bool) (intval($object->flags / 100000) % 10);
 | |
| 		$object->hasPlayerSlot = (bool) (intval($object->flags / 1000000) % 10);
 | |
| 		$object->isBroadcasting = (bool) (intval($object->flags / 10000000) % 10);
 | |
| 		$object->hasJoinedGame = (bool) (intval($object->flags / 100000000) % 10);
 | |
| 		//Details spectatorStatus
 | |
| 		$object->spectator = (bool) ($object->spectatorStatus % 10);
 | |
| 		$object->temporarySpectator = (bool) (intval($object->spectatorStatus / 10) % 10);
 | |
| 		$object->pureSpectator = (bool) (intval($object->spectatorStatus / 100) % 10);
 | |
| 		$object->autoTarget = (bool) (intval($object->spectatorStatus / 1000) % 10);
 | |
| 		$object->currentTargetId = intval($object->spectatorStatus / 10000);
 | |
| 
 | |
| 		return $object;
 | |
| 	}
 | |
| }
 | |
| ?>
 |