TrackManiaControl/libs/FML/XmlRpc/TMUIProperties.php
2017-07-02 17:45:32 +02:00

727 lines
18 KiB
PHP

<?php
namespace FML\XmlRpc;
/**
* Class representing TrackMania UI Properties
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2017 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class TMUIProperties extends UIProperties
{
/**
* @var array $liveInfoProperties Live info properties
*/
protected $liveInfoProperties = array();
/**
* @var array $spectatorInfoProperties Spectator info properties
*/
protected $spectatorInfoProperties = array();
/**
* @var array $opponentsInfoProperties Opponents info properties
*/
protected $opponentsInfoProperties = array();
/**
* @var array $checkpointListProperties Checkpoint list properties
*/
protected $checkpointListProperties = array();
/**
* @var array $roundScoresProperties Round scores properties
*/
protected $roundScoresProperties = array();
/**
* @var array $chronoProperties Chrono properties
*/
protected $chronoProperties = array();
/**
* @var array $speedAndDistanceProperties Speed and distance properties
*/
protected $speedAndDistanceProperties = array();
/**
* @var array $personalBestAndRankProperties Personal best and rank properties
*/
protected $personalBestAndRankProperties = array();
/**
* @var array $positionProperties Position properties
*/
protected $positionProperties = array();
/**
* @var array $checkpointTimeProperties Checkpoint time properties
*/
protected $checkpointTimeProperties = array();
/**
* @var array $warmUpProperties Warm-up properties
*/
protected $warmUpProperties = array();
/**
* @var array $multiLapInfoProperties Multi-lap info properties
*/
protected $multiLapInfoProperties = array();
/**
* @var array $checkpointRankingProperties Checkpoint ranking properties
*/
protected $checkpointRankingProperties = array();
/**
* Get the live info visibility
*
* @api
* @return bool
*/
public function getLiveInfoVisible()
{
return $this->getVisibleProperty($this->liveInfoProperties);
}
/**
* Set the live info visibility
*
* @api
* @param bool $visible If the live info should be visible
* @return static
*/
public function setLiveInfoVisible($visible)
{
$this->setVisibleProperty($this->liveInfoProperties, $visible);
return $this;
}
/**
* Get the live info position
*
* @api
* @return string
*/
public function getLiveInfoPosition()
{
return $this->getPositionProperty($this->liveInfoProperties);
}
/**
* Set the live info position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setLiveInfoPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->liveInfoProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the spectator info visibility
*
* @api
* @return bool
*/
public function getSpectatorInfoVisible()
{
return $this->getVisibleProperty($this->spectatorInfoProperties);
}
/**
* Set the spectator info visibility
*
* @api
* @param bool $visible If the spectator info should be visible
* @return static
*/
public function setSpectatorInfoVisible($visible)
{
$this->setVisibleProperty($this->spectatorInfoProperties, $visible);
return $this;
}
/**
* Get the spectator info position
*
* @api
* @return string
*/
public function getSpectatorInfoPosition()
{
return $this->getPositionProperty($this->spectatorInfoProperties);
}
/**
* Set the spectator info position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setSpectatorInfoPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->spectatorInfoProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the opponents info visibility
*
* @api
* @return bool
*/
public function getOpponentsInfoVisible()
{
return $this->getVisibleProperty($this->opponentsInfoProperties);
}
/**
* Set the opponents info visibility
*
* @api
* @param bool $visible If the opponents info should be visible
* @return static
*/
public function setOpponentsInfoVisible($visible)
{
$this->setVisibleProperty($this->opponentsInfoProperties, $visible);
return $this;
}
/**
* Get the checkpoint list visibility
*
* @api
* @return bool
*/
public function getCheckpointListVisible()
{
return $this->getVisibleProperty($this->checkpointListProperties);
}
/**
* Set the checkpoint list visibility
*
* @api
* @param bool $visible If the checkpoint list should be visible
* @return static
*/
public function setCheckpointListVisible($visible)
{
$this->setVisibleProperty($this->checkpointListProperties, $visible);
return $this;
}
/**
* Get the checkpoint list position
*
* @api
* @return string
*/
public function getCheckpointListPosition()
{
return $this->getPositionProperty($this->checkpointListProperties);
}
/**
* Set the checkpoint list position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setCheckpointListPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->checkpointListProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the round scores visibility
*
* @api
* @return bool
*/
public function getRoundScoresVisible()
{
return $this->getVisibleProperty($this->roundScoresProperties);
}
/**
* Set the round scores visibility
*
* @api
* @param bool $visible If the round scores should be visible
* @return static
*/
public function setRoundScoresVisible($visible)
{
$this->setVisibleProperty($this->roundScoresProperties, $visible);
return $this;
}
/**
* Get the round scores position
*
* @api
* @return string
*/
public function getRoundScoresPosition()
{
return $this->getPositionProperty($this->roundScoresProperties);
}
/**
* Set the round scores position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setRoundScoresPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->roundScoresProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the chrono visibility
*
* @api
* @return bool
*/
public function getChronoVisible()
{
return $this->getVisibleProperty($this->chronoProperties);
}
/**
* Set the chrono visibility
*
* @api
* @param bool $visible If the chrono should be visible
* @return static
*/
public function setChronoVisible($visible)
{
$this->setVisibleProperty($this->chronoProperties, $visible);
return $this;
}
/**
* Get the chrono position
*
* @api
* @return string
*/
public function getChronoPosition()
{
return $this->getPositionProperty($this->chronoProperties);
}
/**
* Set the chrono position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setChronoPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->chronoProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the speed and distance visibility
*
* @api
* @return bool
*/
public function getSpeedAndDistanceVisible()
{
return $this->getVisibleProperty($this->speedAndDistanceProperties);
}
/**
* Set the speed and distance visibility
*
* @api
* @param bool $visible If the speed and distance should be visible
* @return static
*/
public function setSpeedAndDistanceVisible($visible)
{
$this->setVisibleProperty($this->speedAndDistanceProperties, $visible);
return $this;
}
/**
* Get the speed and distance position
*
* @api
* @return string
*/
public function getSpeedAndDistancePosition()
{
return $this->getPositionProperty($this->speedAndDistanceProperties);
}
/**
* Set the speed and distance position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setSpeedAndDistancePosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->speedAndDistanceProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the personal best and rank visibility
*
* @api
* @return bool
*/
public function getPersonalBestAndRankVisible()
{
return $this->getVisibleProperty($this->personalBestAndRankProperties);
}
/**
* Set the personal best and rank visibility
*
* @api
* @param bool $visible If the personal best and rank should be visible
* @return static
*/
public function setPersonalBestAndRankVisible($visible)
{
$this->setVisibleProperty($this->personalBestAndRankProperties, $visible);
return $this;
}
/**
* Get the personal best and rank position
*
* @api
* @return string
*/
public function getPersonalBestAndRankPosition()
{
return $this->getPositionProperty($this->personalBestAndRankProperties);
}
/**
* Set the personal best and rank position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setPersonalBestAndRankPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->personalBestAndRankProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the position visibility
*
* @api
* @return bool
*/
public function getPositionVisible()
{
return $this->getVisibleProperty($this->positionProperties);
}
/**
* Set the position visibility
*
* @api
* @param bool $visible If the position should be visible
* @return static
*/
public function setPositionVisible($visible)
{
$this->setVisibleProperty($this->positionProperties, $visible);
return $this;
}
/**
* Get the position position
*
* @api
* @return string
*/
public function getPositionPosition()
{
return $this->getPositionProperty($this->positionProperties);
}
/**
* Set the position position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setPositionPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->positionProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the checkpoint time visibility
*
* @api
* @return bool
*/
public function getCheckpointTimeVisible()
{
return $this->getVisibleProperty($this->checkpointTimeProperties);
}
/**
* Set the checkpoint time visibility
*
* @api
* @param bool $visible If the checkpoint time should be visible
* @return static
*/
public function setCheckpointTimeVisible($visible)
{
$this->setVisibleProperty($this->checkpointTimeProperties, $visible);
return $this;
}
/**
* Get the checkpoint time position
*
* @api
* @return string
*/
public function getCheckpointTimePosition()
{
return $this->getPositionProperty($this->checkpointTimeProperties);
}
/**
* Set the checkpoint time position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setCheckpointTimePosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->checkpointTimeProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the warm-up visibility
*
* @api
* @return bool
*/
public function getWarmUpVisible()
{
return $this->getVisibleProperty($this->warmUpProperties);
}
/**
* Set the warm-up visibility
*
* @api
* @param bool $visible If the warm-up should be visible
* @return static
*/
public function setWarmUpVisible($visible)
{
$this->setVisibleProperty($this->warmUpProperties, $visible);
return $this;
}
/**
* Get the warm-up position
*
* @api
* @return string
*/
public function getWarmUpPosition()
{
return $this->getPositionProperty($this->warmUpProperties);
}
/**
* Set the warm-up position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setWarmUpPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->warmUpProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the multi-lap info visibility
*
* @api
* @return bool
*/
public function getMultiLapInfoVisible()
{
return $this->getVisibleProperty($this->multiLapInfoProperties);
}
/**
* Set the multi-lap info visibility
*
* @api
* @param bool $visible If the multi-lap info should be visible
* @return static
*/
public function setMultiLapInfoVisible($visible)
{
$this->setVisibleProperty($this->multiLapInfoProperties, $visible);
return $this;
}
/**
* Get the multi-lap info position
*
* @api
* @return string
*/
public function getMultiLapInfoPosition()
{
return $this->getPositionProperty($this->multiLapInfoProperties);
}
/**
* Set the multi-lap info position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setMultiLapInfoPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->multiLapInfoProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* Get the checkpoint ranking visibility
*
* @api
* @return bool
*/
public function getCheckpointRankingVisible()
{
return $this->getVisibleProperty($this->checkpointRankingProperties);
}
/**
* Set the checkpoint ranking visibility
*
* @api
* @param bool $visible If the checkpoint ranking should be visible
* @return static
*/
public function setCheckpointRankingVisible($visible)
{
$this->setVisibleProperty($this->checkpointRankingProperties, $visible);
return $this;
}
/**
* Get the checkpoint ranking position
*
* @api
* @return string
*/
public function getCheckpointRankingPosition()
{
return $this->getPositionProperty($this->checkpointRankingProperties);
}
/**
* Set the checkpoint ranking position
*
* @api
* @param float $positionX X position
* @param float $positionY Y position
* @param float $positionZ (optional) Z position (Z-index)
* @return static
*/
public function setCheckpointRankingPosition($positionX, $positionY, $positionZ = null)
{
$this->setPositionProperty($this->checkpointRankingProperties, $positionX, $positionY, $positionZ);
return $this;
}
/**
* @see UIProperties::getProperties()
*/
protected function getProperties()
{
return array_merge(parent::getProperties(), array(
"live_info" => $this->liveInfoProperties,
"spectator_info" => $this->spectatorInfoProperties,
"opponents_info" => $this->opponentsInfoProperties,
"checkpoint_list" => $this->checkpointListProperties,
"round_scores" => $this->roundScoresProperties,
"chrono" => $this->chronoProperties,
"speed_and_distance" => $this->speedAndDistanceProperties,
"personal_best_and_rank" => $this->personalBestAndRankProperties,
"position" => $this->positionProperties,
"checkpoint_time" => $this->checkpointTimeProperties,
"warmup" => $this->warmUpProperties,
"multilap_info" => $this->multiLapInfoProperties,
"checkpoint_ranking" => $this->checkpointRankingProperties
));
}
}