Passed
Push — dev ( 0aa780...31f66c )
by Janko
11:20
created

SpacecraftAttackCauseEnum   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 28
ccs 13
cts 13
cp 1
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getDestructionCause() 0 6 1
A isOneWay() 0 8 1
1
<?php
2
3
namespace Stu\Module\Spacecraft\Lib\Battle;
4
5
use Stu\Module\Spacecraft\Lib\Destruction\SpacecraftDestructionCauseEnum;
6
7
enum SpacecraftAttackCauseEnum
8
{
9
    case SHIP_FIGHT;
10
    case ALERT_YELLOW;
11
    case ALERT_RED;
12
    case COLONY_DEFENSE;
13
    case ACTIVATE_TRACTOR;
14
    case BOARD_SHIP;
15
    case THOLIAN_WEB_REFLECTION;
16
    case TARGET_CAPTURED_IN_THOLIAN_WEB;
17
18 1
    public function isOneWay(): bool
19
    {
20 1
        return match ($this) {
21 1
            self::ACTIVATE_TRACTOR,
22 1
            self::BOARD_SHIP,
23 1
            self::THOLIAN_WEB_REFLECTION,
24 1
            self::TARGET_CAPTURED_IN_THOLIAN_WEB => true,
25 1
            default => false
26 1
        };
27
    }
28
29 1
    public function getDestructionCause(): SpacecraftDestructionCauseEnum
30
    {
31 1
        return match ($this) {
32 1
            self::ALERT_YELLOW => SpacecraftDestructionCauseEnum::ALERT_YELLOW,
33 1
            self::ALERT_RED => SpacecraftDestructionCauseEnum::ALERT_RED,
34 1
            default => SpacecraftDestructionCauseEnum::SHIP_FIGHT
35 1
        };
36
    }
37
}
38