commons.actors   A
last analyzed

Complexity

Total Complexity 0

Size/Duplication

Total Lines 102
Duplicated Lines 0 %

Test Coverage

Coverage 69.44%

Importance

Changes 0
Metric Value
wmc 0
eloc 62
dl 0
loc 102
ccs 25
cts 36
cp 0.6944
rs 10
c 0
b 0
f 0
1
"""
2
Primitive actor data structures.
3
4
"""
5
from dataclasses import dataclass
6 1
7
from .structures import PrimitiveDataclassMixin
8
9 1
from ._utils import export
10
11
12
@export
13
@dataclass(frozen=True)
14
class Actor(PrimitiveDataclassMixin):
15 1
  ...
16 1
17
18 1
@export
19
@dataclass(frozen=True)
20
class HumanActor(Actor):
21
  __slots__ = ["callsign", ]
22
23
  callsign: str
24
25 1
26 1
@export
27
@dataclass(frozen=True)
28 1
class HumanAircraftActor(HumanActor):
29
  __slots__ = HumanActor.__slots__ + ["aircraft", ]
30
31
  aircraft: str
32
33
34
@export
35
@dataclass(frozen=True)
36 1
class HumanAircraftCrewMemberActor(HumanAircraftActor):
37 1
  __slots__ = HumanAircraftActor.__slots__ + ["member_index", ]
38
39 1
  member_index: int
40
41
42
@export
43
@dataclass(frozen=True)
44
class UnitActor(Actor):
45
  __slots__ = ["id", ]
46
47
  id: str
48
49
50 1
@export
51 1
@dataclass(frozen=True)
52
class AIAircraftActor(UnitActor):
53 1
  __slots__ = UnitActor.__slots__ + ["flight_index", ]
54
55
  flight_index: int
56
57
58
@export
59
@dataclass(frozen=True)
60
class AIAircraftCrewMemberActor(AIAircraftActor):
61 1
  __slots__ = AIAircraftActor.__slots__ + ["member_index", ]
62 1
63
  member_index: int
64 1
65
66
@export
67
@dataclass(frozen=True)
68
class StationaryUnitActor(UnitActor):
69
  ...
70
71
72
@export
73
@dataclass(frozen=True)
74
class MovingUnitActor(UnitActor):
75 1
  ...
76 1
77
78 1
@export
79
@dataclass(frozen=True)
80
class MovingUnitMemberActor(MovingUnitActor):
81
  __slots__ = MovingUnitActor.__slots__ + ["member_index", ]
82
83
  member_index: int
84
85 1
86
@export
87
@dataclass(frozen=True)
88
class BuildingActor(UnitActor):
89
  ...
90
91 1
92
@export
93
@dataclass(frozen=True)
94
class BridgeActor(UnitActor):
95
  ...
96
97 1
98 1
@export
99
@dataclass(frozen=True)
100 1
class ObjectActor(UnitActor):
101
  """3do actor"""
102