64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
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)
|
|
|
|
def get_reaktor(self) -> Reaktor:
|
|
return Reaktor(self.__reactor_value, self.__components_reader.reactor_tonnage_from(self.__reactor_value))
|
|
|
|
def get_gyroskope(self) -> Gyroskope:
|
|
return Gyroskope(float(round(self.__reactor_value / 100)))
|
|
|
|
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
|
|
|
|
def get_cockpit(self) -> Cockpit:
|
|
return Cockpit()
|
|
|
|
def get_sustainment(self) -> Sustainment:
|
|
return Sustainment()
|
|
|
|
def get_sensors(self) -> Sensors:
|
|
return Sensors()
|
|
|
|
def get_joint(self) -> Joint:
|
|
return Joint()
|
|
|
|
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']
|