Passed
Push — master ( 56813c...ebb300 )
by Paweł
03:29
created

FightWolfDecision   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 4
c 2
b 0
f 0
dl 0
loc 18
ccs 0
cts 7
cp 0
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __toString() 0 3 1
A __construct() 0 6 1
A __invoke() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AardsGerds\Game\Event\Story\FirstChapter\FightWolf;
6
7
use AardsGerds\Game\Entity\Beast\Animal\Wolf;
8
use AardsGerds\Game\Event\Decision;
9
use AardsGerds\Game\Player\Player;
10
use AardsGerds\Game\Shared\IntegerValue;
11
use AardsGerds\Game\Event\Event;
12
13
final class FightWolfDecision extends Decision
14
{
15
    public function __construct(
16
        IntegerValue $order,
17
        Player $player,
18
        private Wolf $wolf,
19
    ) {
20
        parent::__construct($order, $player);
21
    }
22
23
    public function __invoke(): Event
24
    {
25
        return new FightWolfEvent($this->player, $this->wolf);
26
    }
27
28
    public function __toString(): string
29
    {
30
        return "{$this->order}. Attack wolf";
31
    }
32
}
33