def RemoveBuilding(self, building_id=0): result = AStruct() if building_id in self.__yard: slot = self.__yard.pop(building_id) result.b_modules = slot.b_modules result.remainder = slot.building.cost * ((100 - slot.building.progress) / 100) result.remainder = int(round(result.remainder)) else: result.b_modules = 0 result.remainder = 0 return result
def RemoveBuilding(self, building_id=0): result = AStruct() if building_id in self.__yard: slot = self.__yard.pop(building_id) result.b_modules = slot.b_modules result.remainder = slot.building.cost * ( (100 - slot.building.progress) / 100) result.remainder = int(round(result.remainder)) else: result.b_modules = 0 result.remainder = 0 return result
def AddBuilding(self, building, b_modules=0): if building.identifier not in self.__yard: slot = AStruct() slot.building = building slot.b_modules = b_modules self.__yard[building.identifier] = slot return STATUS_CODES.SUCCESS else: return STATUS_CODES.FAILURE
def PopReadyBuildings(self): result = AStruct() result.b_modules = 0 result.buildings = [] for building_id in self.__yard.copy(): slot = self.__yard[building_id] if slot.building.progress == 100: self.__yard.pop(building_id) result.b_modules += slot.b_modules result.buildings.append(slot.building) else: continue return result