Passed
Push — dev ( 91d807...b97e85 )
by Janko
28:41
created

ReloadMinimalEps   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 14
c 2
b 0
f 0
dl 0
loc 31
ccs 0
cts 14
cp 0
rs 10
wmc 8

3 Methods

Rating   Name   Duplication   Size   Complexity  
A reloadWarpdrive() 0 9 3
A reload() 0 5 2
A reloadEps() 0 9 3
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