Passed
Pull Request — master (#1696)
by Nico
49:43 queued 22:34
created

SocialProvider::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 6
ccs 0
cts 3
cp 0
crap 2
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace Stu\Module\Colony\Lib\Gui\Component;
4
5
use Stu\Component\Crew\CrewCountRetrieverInterface;
6
use Stu\Component\Player\CrewLimitCalculatorInterface;
7
use Stu\Lib\Colony\PlanetFieldHostInterface;
8
use Stu\Module\Control\GameControllerInterface;
9
10
final class SocialProvider implements GuiComponentProviderInterface
11
{
12
    private CrewCountRetrieverInterface $crewCountRetriever;
13
14
    private CrewLimitCalculatorInterface $crewLimitCalculator;
15
16
    public function __construct(
17
        CrewLimitCalculatorInterface $crewLimitCalculator,
18
        CrewCountRetrieverInterface $crewCountRetriever
19
    ) {
20
        $this->crewCountRetriever = $crewCountRetriever;
21
        $this->crewLimitCalculator = $crewLimitCalculator;
22
    }
23
24
    public function setTemplateVariables(
25
        PlanetFieldHostInterface $host,
26
        GameControllerInterface $game
27
    ): void {
28
        $user = $game->getUser();
29
30
        $game->setTemplateVar(
31
            'CREW_COUNT_DEBRIS_AND_TRADE_POSTS',
32
            $this->crewCountRetriever->getDebrisAndTradePostsCount($user)
33
        );
34
        $game->setTemplateVar(
35
            'CREW_COUNT_SHIPS',
36
            $this->crewCountRetriever->getAssignedToShipsCount($user)
37
        );
38
        $game->setTemplateVar(
39
            'CREW_COUNT_TRAINING',
40
            $this->crewCountRetriever->getInTrainingCount($user)
41
        );
42
        $game->setTemplateVar(
43
            'CREW_COUNT_REMAINING',
44
            $this->crewCountRetriever->getRemainingCount($user)
45
        );
46
        $game->setTemplateVar(
47
            'GLOBAL_CREW_LIMIT',
48
            $this->crewLimitCalculator->getGlobalCrewLimit($user)
49
        );
50
    }
51
}
52