Passed
Push — master ( 91d807...98c78f )
by Nico
50:21 queued 24:31
created

ReloadMinimalEps::reloadEps()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 5
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 9
ccs 0
cts 5
cp 0
crap 12
rs 10
1
<?php
2
3
namespace Stu\Lib\Pirate\Component;
4
5
use Stu\Module\Ship\Lib\FleetWrapperInterface;
6
use Stu\Module\Ship\Lib\ShipWrapperInterface;
7
8
class ReloadMinimalEps implements ReloadMinimalEpsInterface
9
{
10
    public function reload(FleetWrapperInterface $fleetWrapper, int $minimalPercentage = 20): void
11
    {
12
        foreach ($fleetWrapper->getShipWrappers() as $wrapper) {
13
            $this->reloadEps($wrapper, $minimalPercentage);
14
            $this->reloadWarpdrive($wrapper, $minimalPercentage);
15
        }
16
    }
17
18
    private function reloadEps(ShipWrapperInterface $wrapper, int $minimalPercentage): void
19
    {
20
        $epsSystem = $wrapper->getEpsSystemData();
21
22
        if (
23
            $epsSystem !== null
24
            && $epsSystem->getEpsPercentage() < $minimalPercentage
25
        ) {
26
            $epsSystem->setEps((int)($epsSystem->getMaxEps() * $minimalPercentage / 100))->update();
27
        }
28
    }
29
30
    private function reloadWarpdrive(ShipWrapperInterface $wrapper, int $minimalPercentage): void
31
    {
32
        $warpdrive = $wrapper->getWarpDriveSystemData();
33
34
        if (
35
            $warpdrive !== null
36
            && $warpdrive->getWarpdrivePercentage() < $minimalPercentage
37
        ) {
38
            $warpdrive->setWarpDrive((int)($warpdrive->getMaxWarpDrive() * $minimalPercentage / 100))->update();
39
        }
40
    }
41
}
42