Feature: Füge Bauteile in die Zonen hinzu

This commit is contained in:
2025-07-18 16:02:51 +02:00
parent ff0dc0d556
commit 3a0e8777f6
+49 -4
View File
@@ -1,4 +1,6 @@
from MechFabrik.bauteile import Mech, InnerStructure, Gyroskope, Area, AreaNames, Cockpit, Reaktor
from MechFabrik.bauteile import Activator, Joint, Mech, InnerStructure, Gyroskope, Area, AreaNames, Cockpit, Reaktor, \
Sensors, \
Sustainment
from MechFabrik.reader import ComponentReader
@@ -15,15 +17,23 @@ class MechFabrik(object):
gyroscope = Gyroskope(float(round(reactor_value / 100)))
self._inner_structure = InnerStructure(self.__components.inner_structure_from(tonnage), gyroscope)
self.__build_head_area()
self.__build_middle_torso_area()
self.__build_middle_torso_area(gyroscope)
def __build_head_area(self) -> None:
area = Area()
cockpit = Cockpit()
area.cockpit = cockpit
area.items = {
(1, 1): Sustainment(),
(1, 2): Sensors(),
(1, 3): area.cockpit,
(1, 4): None,
(1, 5): Sensors(),
(1, 6): Sustainment(),
}
self._inner_structure.add_area(AreaNames.HEAD, area)
def __build_middle_torso_area(self) -> Area:
def __build_middle_torso_area(self, gyroscope: Gyroskope) -> Area:
area_middle = Area()
area_left = Area()
area_right = Area()
@@ -32,6 +42,20 @@ class MechFabrik(object):
reactor = Reaktor(self.__reactor_value, self.__components.reactor_tonnage_from(self.__reactor_value))
area_middle.reactor = reactor
area_middle.children = [area_right, area_left]
area_middle.items = {
(1, 1): reactor,
(1, 2): reactor,
(1, 3): reactor,
(1, 4): gyroscope,
(1, 5): gyroscope,
(1, 6): gyroscope,
(2, 1): gyroscope,
(2, 2): reactor,
(2, 3): reactor,
(2, 4): reactor,
(2, 5): None,
(2, 6): None,
}
self.__build_arm(area_right, AreaNames.RIGHT_ARM)
self.__build_leg(area_right, AreaNames.RIGHT_LEG)
self.__build_arm(area_left, AreaNames.LEFT_ARM)
@@ -44,15 +68,36 @@ class MechFabrik(object):
def __build_arm(self, parent: Area, index: AreaNames):
arm = Area()
arm.parent = parent
arm.items = {
(1, 1): Joint(),
(1, 2): Activator(),
(1, 3): Activator(),
(1, 4): Activator(),
(1, 5): None,
(1, 6): None,
(2, 1): None,
(2, 2): None,
(2, 3): None,
(2, 4): None,
(2, 5): None,
(2, 6): None,
}
parent.children.append(arm)
self._inner_structure.add_area(index, arm)
def __build_leg(self, parent: Area, index: AreaNames):
leg = Area()
leg.parent = parent
leg.items = {
(1, 1): Joint(),
(1, 2): Activator(),
(1, 3): Activator(),
(1, 4): Activator(),
(1, 5): None,
(1, 6): None,
}
parent.children.append(leg)
self._inner_structure.add_area(index, leg)
def auslieferung(self) -> Mech:
return self._mech