refactor: verbessere die Verantwortung der Trefferpunkte-Verarbeitung
This commit is contained in:
+43
-19
@@ -1,6 +1,7 @@
|
||||
from MechFabrik.bauteile import Activator, Joint, Mech, InnerStructure, Gyroskope, Area, AreaNames, Cockpit, Reaktor, \
|
||||
from MechFabrik.bauteile import Activator, Joint, Mech, InnerStructure, Gyroskope, Area, AreaNames, Cockpit, OuterAmor, \
|
||||
Reaktor, \
|
||||
Sensors, \
|
||||
Sustainment
|
||||
Sustainment, ZoneNames
|
||||
from MechFabrik.reader import ComponentReader
|
||||
|
||||
|
||||
@@ -20,6 +21,19 @@ class MechFabrik(object):
|
||||
AreaNames.LEFT_LEG: Area(),
|
||||
AreaNames.RIGHT_LEG: Area(),
|
||||
}
|
||||
self.__zones = {
|
||||
ZoneNames.HEAD: OuterAmor(self.__areas[AreaNames.HEAD]),
|
||||
ZoneNames.MIDDLE_TORSO_FRONT: OuterAmor(self.__areas[AreaNames.MIDDLE_TORSO]),
|
||||
ZoneNames.MIDDLE_TORSO_REAR: OuterAmor(self.__areas[AreaNames.MIDDLE_TORSO]),
|
||||
ZoneNames.LEFT_TORSO_FRONT: OuterAmor(self.__areas[AreaNames.LEFT_TORSO]),
|
||||
ZoneNames.LEFT_TORSO_REAR: OuterAmor(self.__areas[AreaNames.LEFT_TORSO]),
|
||||
ZoneNames.RIGHT_TORSO_FRONT: OuterAmor(self.__areas[AreaNames.RIGHT_TORSO]),
|
||||
ZoneNames.RIGHT_TORSO_REAR: OuterAmor(self.__areas[AreaNames.RIGHT_TORSO]),
|
||||
ZoneNames.LEFT_ARM: OuterAmor(self.__areas[AreaNames.LEFT_ARM]),
|
||||
ZoneNames.RIGHT_ARM: OuterAmor(self.__areas[AreaNames.RIGHT_ARM]),
|
||||
ZoneNames.LEFT_LEG: OuterAmor(self.__areas[AreaNames.LEFT_LEG]),
|
||||
ZoneNames.RIGHT_LEG: OuterAmor(self.__areas[AreaNames.RIGHT_LEG]),
|
||||
}
|
||||
self.__build_inner_structure(tonnage, movement_rate)
|
||||
self._mech = Mech(name, tonnage, movement_rate, self._inner_structure)
|
||||
|
||||
@@ -41,7 +55,8 @@ class MechFabrik(object):
|
||||
(1, 5): Sensors(),
|
||||
(1, 6): Sustainment(),
|
||||
}
|
||||
self.__areas[AreaNames.HEAD].inner_armor = 3
|
||||
self.__areas[AreaNames.HEAD].armor = 3
|
||||
self.__areas[AreaNames.HEAD].parent = self.__areas[AreaNames.MIDDLE_TORSO]
|
||||
|
||||
def __build_middle_torso_area(self, gyroscope: Gyroskope) -> None:
|
||||
self.__areas[AreaNames.LEFT_TORSO].parent = self.__areas[AreaNames.MIDDLE_TORSO]
|
||||
@@ -66,13 +81,13 @@ class MechFabrik(object):
|
||||
(2, 5): None,
|
||||
(2, 6): None,
|
||||
}
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].inner_armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__tonnage,
|
||||
AreaNames.MIDDLE_TORSO
|
||||
)
|
||||
self.__areas[AreaNames.LEFT_TORSO].inner_armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__areas[AreaNames.LEFT_TORSO].armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__tonnage, AreaNames.LEFT_TORSO)
|
||||
self.__areas[AreaNames.RIGHT_TORSO].inner_armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__areas[AreaNames.RIGHT_TORSO].armor = self.__components.inner_amor_for_tonnage_and_area(
|
||||
self.__tonnage,
|
||||
AreaNames.RIGHT_TORSO
|
||||
)
|
||||
@@ -97,10 +112,9 @@ class MechFabrik(object):
|
||||
(2, 5): None,
|
||||
(2, 6): None,
|
||||
}
|
||||
self.__areas[index].inner_armor = self.__components.inner_amor_for_tonnage_and_area(self.__tonnage, index)
|
||||
self.__areas[index].armor = self.__components.inner_amor_for_tonnage_and_area(self.__tonnage, index)
|
||||
parent.children.append(self.__areas[index])
|
||||
|
||||
|
||||
def __build_leg(self, parent: Area, index: AreaNames):
|
||||
self.__areas[index].parent = parent
|
||||
self.__areas[index].items = {
|
||||
@@ -111,28 +125,38 @@ class MechFabrik(object):
|
||||
(1, 5): None,
|
||||
(1, 6): None,
|
||||
}
|
||||
self.__areas[index].inner_armor = self.__components.inner_amor_for_tonnage_and_area(self.__tonnage, index)
|
||||
self.__areas[index].armor = self.__components.inner_amor_for_tonnage_and_area(self.__tonnage, index)
|
||||
parent.children.append(self.__areas[index])
|
||||
|
||||
def auslieferung(self) -> Mech:
|
||||
for (index, area) in self.__areas.items():
|
||||
self._inner_structure.add_area(index, area)
|
||||
for (index, outer_amor) in self.__zones.items():
|
||||
self._inner_structure.add_zone(index, outer_amor)
|
||||
return self._mech
|
||||
|
||||
def set_head_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.HEAD].armor = armor
|
||||
self.__set_outer_armor(armor, ZoneNames.HEAD, AreaNames.HEAD)
|
||||
|
||||
def set_middle_torso_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.MIDDLE_TORSO].armor = armor
|
||||
def set_middle_torso_armor(self, armor_front: int, amor_rear: int) -> None:
|
||||
self.__set_outer_armor(armor_front, ZoneNames.MIDDLE_TORSO_FRONT, AreaNames.MIDDLE_TORSO)
|
||||
self.__set_outer_armor(amor_rear, ZoneNames.MIDDLE_TORSO_REAR, AreaNames.MIDDLE_TORSO)
|
||||
|
||||
def set_side_torso_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.RIGHT_TORSO].armor = armor
|
||||
self.__areas[AreaNames.LEFT_TORSO].armor = armor
|
||||
def set_side_torso_armor(self, armor_front: int, amor_rear: int) -> None:
|
||||
self.__set_outer_armor(armor_front, ZoneNames.LEFT_TORSO_FRONT, AreaNames.LEFT_TORSO)
|
||||
self.__set_outer_armor(amor_rear, ZoneNames.LEFT_TORSO_REAR, AreaNames.LEFT_TORSO)
|
||||
self.__set_outer_armor(armor_front, ZoneNames.RIGHT_TORSO_FRONT, AreaNames.RIGHT_TORSO)
|
||||
self.__set_outer_armor(amor_rear, ZoneNames.RIGHT_TORSO_REAR, AreaNames.RIGHT_TORSO)
|
||||
|
||||
def set_arm_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.RIGHT_ARM].armor = armor
|
||||
self.__areas[AreaNames.LEFT_ARM].armor = armor
|
||||
self.__set_outer_armor(armor, ZoneNames.LEFT_ARM, AreaNames.LEFT_ARM)
|
||||
self.__set_outer_armor(armor, ZoneNames.RIGHT_ARM, AreaNames.RIGHT_ARM)
|
||||
|
||||
def set_leg_armor(self, armor: int) -> None:
|
||||
self.__areas[AreaNames.RIGHT_LEG].armor = armor
|
||||
self.__areas[AreaNames.LEFT_LEG].armor = armor
|
||||
self.__set_outer_armor(armor, ZoneNames.LEFT_LEG, AreaNames.LEFT_LEG)
|
||||
self.__set_outer_armor(armor, ZoneNames.RIGHT_LEG, AreaNames.RIGHT_LEG)
|
||||
|
||||
def __set_outer_armor(self, armor: int, zone_name: ZoneNames, parent_name: AreaNames) -> None:
|
||||
self.__zones[zone_name].armor = armor
|
||||
self.__zones[zone_name].parent = self.__areas[parent_name]
|
||||
self.__areas[parent_name].outer_amor.append(self.__zones[zone_name])
|
||||
|
||||
Reference in New Issue
Block a user