本文整理汇总了Python中horizons.ai.aiplayer.trademanager.TradeManager.organize_shipping方法的典型用法代码示例。如果您正苦于以下问题:Python TradeManager.organize_shipping方法的具体用法?Python TradeManager.organize_shipping怎么用?Python TradeManager.organize_shipping使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类horizons.ai.aiplayer.trademanager.TradeManager
的用法示例。
在下文中一共展示了TradeManager.organize_shipping方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SettlementManager
# 需要导入模块: from horizons.ai.aiplayer.trademanager import TradeManager [as 别名]
# 或者: from horizons.ai.aiplayer.trademanager.TradeManager import organize_shipping [as 别名]
#.........这里部分代码省略.........
self.log.info('%s get-together production %.5f / %.5f', self, self.get_resource_production(RES.GET_TOGETHER),
self.get_resource_production_requirement(RES.GET_TOGETHER))
self.log.info('%s salt production %.5f / %.5f', self, self.get_resource_production(RES.SALT),
self.get_resource_production_requirement(RES.SALT))
self.log.info('%s tobacco products production %.5f / %.5f', self, self.get_resource_production(RES.TOBACCO_PRODUCTS),
self.get_resource_production_requirement(RES.TOBACCO_PRODUCTS))
self.production_builder.manage_production()
self.trade_manager.refresh()
self.resource_manager.refresh()
self.need_materials = False
def refresh_taxes_and_upgrade_permissions(self):
# TODO: use a better system for managing settler upgrades and taxes
if self.land_manager.owner.settler_level == 0:
# if we are on level 0 and there is a house that can be upgraded then do it.
if self._manual_upgrade(0, 1):
self._set_taxes_and_permissions_prefix('early')
elif self.get_resource_production(RES.BRICKS) > 1e-9 and not self.settlement.count_buildings(BUILDINGS.VILLAGE_SCHOOL):
# if we just need the school then upgrade sailors manually
free_boards = self.settlement.get_component(StorageComponent).inventory[RES.BOARDS]
free_boards -= Entities.buildings[BUILDINGS.VILLAGE_SCHOOL].costs[RES.BOARDS]
free_boards /= 2 # TODO: load this from upgrade resources
if free_boards > 0:
self._manual_upgrade(0, free_boards)
self._set_taxes_and_permissions_prefix('no_school')
elif self.settlement.count_buildings(BUILDINGS.VILLAGE_SCHOOL):
if self.need_materials:
self._set_taxes_and_permissions_prefix('school')
else:
self._set_taxes_and_permissions_prefix('final')
def _end_general_tick(self):
self.trade_manager.finalize_requests()
self.trade_manager.organize_shipping()
self.resource_manager.record_expected_exportable_production(self.owner.tick_interval)
self.resource_manager.manager_buysell()
self.resource_manager.finish_tick()
def _add_goals(self, goals):
"""Add the settlement's goals that can be activated to the goals list."""
for goal in self._goals:
if goal.can_be_activated:
goal.update()
goals.append(goal)
def tick(self, goals):
"""Refresh the settlement info and add its goals to the player's goal list."""
if self.feeder_island:
self._start_feeder_tick()
self._add_goals(goals)
self._end_feeder_tick()
else:
self._start_general_tick()
self._add_goals(goals)
self._end_general_tick()
def add_building(self, building):
"""Called when a new building is added to the settlement (the building already exists during the call)."""
coords = building.position.origin.to_tuple()
if coords in self.village_builder.plan:
self.village_builder.add_building(building)
else:
self.production_builder.add_building(building)
def remove_building(self, building):
"""Called when a building is removed from the settlement (the building still exists during the call)."""