Total Complexity | 0 |
Total Lines | 102 |
Duplicated Lines | 0 % |
Coverage | 69.44% |
Changes | 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 |