libpairtwo/src/Models/Pairing.php

122 lines
2.0 KiB
PHP
Raw Normal View History

2019-02-11 16:43:36 +01:00
<?php
/**
* Created by PhpStorm.
* User: jeroen
* Date: 11/02/19
* Time: 14:48
*/
namespace JeroenED\Libpairtwo\Models;
2019-03-20 17:33:09 +01:00
use JeroenED\Libpairtwo\Enums\Color;
2019-02-11 16:43:36 +01:00
use JeroenED\Libpairtwo\Enums\Result;
2019-03-20 17:33:09 +01:00
use JeroenED\Libpairtwo\Player;
2019-02-11 16:43:36 +01:00
2019-05-27 13:06:35 +02:00
abstract class Pairing
2019-02-11 16:43:36 +01:00
{
2019-05-28 14:10:42 +02:00
/** @var Player|null */
2019-02-11 16:43:36 +01:00
private $Player;
2019-03-20 17:33:09 +01:00
2019-05-28 14:10:42 +02:00
/** @var Player|null */
2019-02-11 16:43:36 +01:00
private $Opponent;
2019-03-20 17:33:09 +01:00
/** @var Color */
2019-02-11 16:43:36 +01:00
private $Color;
2019-03-20 17:33:09 +01:00
/** @var Result */
2019-02-11 16:43:36 +01:00
private $Result;
2019-03-20 17:33:09 +01:00
/** @var int */
2019-02-11 16:43:36 +01:00
private $Round;
/**
2019-05-28 14:10:42 +02:00
* @return Player|null
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function getPlayer(): ?Player
2019-02-11 16:43:36 +01:00
{
return $this->Player;
}
/**
2019-05-28 14:10:42 +02:00
* @param Player|null $Player
* @return Pairing
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function setPlayer(?Player $Player): Pairing
2019-02-11 16:43:36 +01:00
{
$this->Player = $Player;
2019-05-28 14:10:42 +02:00
return $this;
2019-02-11 16:43:36 +01:00
}
/**
2019-05-28 14:10:42 +02:00
* @return Player|null
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function getOpponent(): ?Player
2019-02-11 16:43:36 +01:00
{
return $this->Opponent;
}
/**
2019-05-28 14:10:42 +02:00
* @param Player|null $Opponent
* @return Pairing
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function setOpponent(?Player $Opponent): Pairing
2019-02-11 16:43:36 +01:00
{
$this->Opponent = $Opponent;
2019-05-28 14:10:42 +02:00
return $this;
2019-02-11 16:43:36 +01:00
}
/**
* @return Color
*/
public function getColor(): Color
{
return $this->Color;
}
/**
* @param Color $Color
2019-05-28 14:10:42 +02:00
* @return Pairing
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function setColor(Color $Color): Pairing
2019-02-11 16:43:36 +01:00
{
$this->Color = $Color;
2019-05-28 14:10:42 +02:00
return $this;
2019-02-11 16:43:36 +01:00
}
/**
* @return Result
*/
public function getResult(): Result
{
return $this->Result;
}
/**
* @param Result $Result
2019-05-28 14:10:42 +02:00
* @return Pairing
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function setResult(Result $Result): Pairing
2019-02-11 16:43:36 +01:00
{
$this->Result = $Result;
2019-05-28 14:10:42 +02:00
return $this;
2019-02-11 16:43:36 +01:00
}
/**
* @return int
*/
public function getRound(): int
{
return $this->Round;
}
/**
* @param int $Round
2019-05-28 14:10:42 +02:00
* @return Pairing
2019-02-11 16:43:36 +01:00
*/
2019-05-28 14:10:42 +02:00
public function setRound(int $Round): Pairing
2019-02-11 16:43:36 +01:00
{
$this->Round = $Round;
2019-05-28 14:10:42 +02:00
return $this;
2019-02-11 16:43:36 +01:00
}
}