from mech_factory import InnerStructure, Joint, Sustainment from mech_factory.component_storage.items import Activator, Cockpit, Gyroskope, Reaktor, Sensors from mech_factory.reader import ComponentReader class ComponentStore(object): def __init__(self, tonnage: float, movement_rate: int): self.__components_reader = ComponentReader() self.__tonnage = tonnage self.__reactor_value = int(movement_rate * tonnage) ''' Erstellt den erforderlichen Reaktor ''' def get_reaktor(self) -> Reaktor: return Reaktor(self.__reactor_value, self.__components_reader.reactor_tonnage_from(self.__reactor_value)) ''' Erstellt den Bewegungs-Aparat ''' def get_gyroskope(self) -> Gyroskope: return Gyroskope(float(round(self.__reactor_value / 100))) ''' Erstellt die innere Struktur ''' def get_inner_structure(self) -> InnerStructure: gyroscope = self.get_gyroskope() return InnerStructure(self.__components_reader.inner_structure_from(self.__tonnage), gyroscope) # noinspection PyMethodMayBeStatic class ItemStore(object): def __init__(self): pass ''' Erstellt das Cockpit ''' def get_cockpit(self) -> Cockpit: return Cockpit() ''' Erstellt die Lebenserhaltung ''' def get_sustainment(self) -> Sustainment: return Sustainment() ''' Erstellt die Sensoren ''' def get_sensors(self) -> Sensors: return Sensors() ''' Erstellt die Gelenke * Hüftgelenk * Schultergelenk ''' def get_joint(self) -> Joint: return Joint() ''' Erstellt die Aktivatoren * Oberschenkel-Aktivator * Unterschenkel-Aktivator * Fuß-Aktivator * Oberarm-Aktivator * Unterarm-Aktivator * Hand-Aktivator ''' def get_activator(self) -> Activator: return Activator() class InnerAmorStore: def __init__(self, tonnage: float): self.__inner_structure_data = ComponentReader().inner_amor_for_tonnage(tonnage) def get_head_amor(self) -> int: return self.__inner_structure_data['head'] def get_middle_torso_amor(self) -> int: return self.__inner_structure_data['middle_torso'] def get_side_torso_amor(self) -> int: return self.__inner_structure_data['side_torso'] def get_arm_amore(self) -> int: return self.__inner_structure_data['arm'] def get_leg_amore(self) -> int: return self.__inner_structure_data['leg']