CreateGameCommand   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 1
dl 0
loc 58
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A getCommandName() 0 4 1
A getOptions() 0 4 1
A create() 0 13 1
1
<?php
2
3
namespace MiniGameApp\Command;
4
5
use MiniGame\Entity\MiniGameId;
6
use MiniGame\Entity\PlayerId;
7
use MiniGame\GameOptions;
8
use RemiSan\Context\Context;
9
10
class CreateGameCommand extends AbstractPlayerCommand
11
{
12
    const NAME = 'GAME.CREATE';
13
14
    /**
15
     * @var GameOptions
16
     */
17
    private $options;
18
19
    /**
20
     * Construct.
21
     */
22 9
    public function __construct()
23
    {
24 9
    }
25
26
    /**
27
     * Returns the command name
28
     *
29
     * @return string
30
     */
31 3
    public function getCommandName()
32
    {
33 3
        return self::NAME;
34
    }
35
36
    /**
37
     * @return GameOptions
38
     */
39 9
    public function getOptions()
40
    {
41 9
        return $this->options;
42
    }
43
44
    /**
45
     * Construct
46
     *
47
     * @param MiniGameId  $id
48
     * @param PlayerId    $playerId
49
     * @param GameOptions $options
50
     * @param Context     $origin
51
     *
52
     * @return CreateGameCommand
53
     */
54 9
    public static function create(
55
        MiniGameId $id,
56
        PlayerId $playerId,
57
        GameOptions $options = null,
58
        Context $origin = null
59
    ) {
60 9
        $obj = new self();
61
62 9
        $obj->init($id, $playerId, $origin);
63 9
        $obj->options = $options;
64
65 9
        return $obj;
66
    }
67
}
68