Completed
Push — feature/player-elo ( 4f1cd9...e8659f )
by Vladimir
05:36
created

ColorTeam::isValid()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
/**
3
 * This file contains functionality relating to the fun match teams
4
 *
5
 * @package    BZiON\Models
6
 * @license    https://github.com/allejo/bzion/blob/master/LICENSE.md GNU General Public License Version 3
7
 */
8
9
/**
10
 * A team identified by its color in BZFlag
11
 * @package    BZiON\Models
12
 */
13
class ColorTeam implements TeamInterface
14
{
15
    /**
16
     * The color of the team
17
     *
18
     * @var string
19
     */
20
    protected $color;
21
22
    /**
23
     * Define a new ColorTeam
24
     * @param string $color The color of the team
25
     */
26 1
    public function __construct($color)
27
    {
28 1
        $this->color = strtolower($color);
29 1
    }
30
31
    /**
32
     * Get a unique identifier for the team
33
     *
34
     * @return string
35
     */
36 1
    public function getId()
37
    {
38 1
        return $this->color;
39
    }
40
41
    /**
42
     * {@inheritdoc}
43
     */
44 1
    public function getName()
45
    {
46 1
        return ucwords($this->color) . " Team";
47
    }
48
49
    /**
50
     * {@inheritdoc}
51
     */
52 1
    public function getAvatar()
53
    {
54 1
        return "assets/imgs/team_" . $this->color . ".png";
55
    }
56
57
    /**
58
     * {@inheritdoc}
59
     */
60 1
    public function isValid()
61
    {
62 1
        return true;
63
    }
64
65
    /**
66
     * Return whether a team color is valid
67
     *
68
     * @param string $color The color to check
69
     */
70 1
    public static function isValidTeamColor($color)
71
    {
72 1
        return in_array($color, array('red', 'green', 'blue', 'purple'));
73
    }
74
75
    /**
76
     * Find out if a team is the same as another team
77
     *
78
     * @param mixed $team The team to compare
79
     * @param bool
80
     */
81 1
    public function isSameAs($team)
82
    {
83 1
        $sameType = $this instanceof $team || $team instanceof $this;
84
85 1
        return $sameType && $this->color === $team->color;
86
    }
87
}
88