示例#1
0
    def highlight_buildable(self, building_tool, tiles_to_check=None):
        """Highlights all buildable tiles.
		@param tiles_to_check: list of tiles to check for coloring."""

        # resolved variables from inner loops
        is_tile_buildable = building_tool._class.is_tile_buildable
        session = building_tool.session
        player = session.world.player

        if not self.subscribed:
            self.subscribed = True
            SettlementRangeChanged.subscribe(self._on_update)

        if tiles_to_check is not None:
            # Only check these tiles.
            for tile in tiles_to_check:
                if is_tile_buildable(session, tile, None):
                    building_tool._color_buildable_tile(tile)
        else:
            # Default build on island.
            for settlement in session.world.settlements:
                if settlement.owner == player:
                    island = session.world.get_island(
                        Point(*next(iter(settlement.ground_map.keys()))))
                    for tile in settlement.ground_map.values():
                        if is_tile_buildable(session,
                                             tile,
                                             None,
                                             island,
                                             check_settlement=False):
                            building_tool._color_buildable_tile(tile)
示例#2
0
	def highlight_buildable(self, building_tool, tiles_to_check=None):
		"""Highlights all buildable tiles.
		@param tiles_to_check: list of tiles to check for coloring."""

		# resolved variables from inner loops
		is_tile_buildable = building_tool._class.is_tile_buildable
		session = building_tool.session
		player = session.world.player

		if not self.subscribed:
			self.subscribed = True
			SettlementRangeChanged.subscribe(self._on_update)

		if tiles_to_check is not None: # only check these tiles
			for tile in tiles_to_check:
				if is_tile_buildable(session, tile, None):
					building_tool._color_buildable_tile(tile)

		else: #default build on island
			for settlement in session.world.settlements:
				if settlement.owner == player:
					island = session.world.get_island(Point(*settlement.ground_map.iterkeys().next()))
					for tile in settlement.ground_map.itervalues():
						if is_tile_buildable(session, tile, None, island, check_settlement=False):
							building_tool._color_buildable_tile(tile)
示例#3
0
	def __init(self):
		self._enabled = True  # whether this player is enabled (currently disabled at the end of the game)
		self.world = self.session.world
		self.islands = {}
		self.settlement_managers = []
		self._settlement_manager_by_settlement_id = {}
		self.missions = set()
		self.fishers = []
		self.settlement_founder = SettlementFounder(self)
		self.unit_builder = UnitBuilder(self)
		self.unit_manager = UnitManager(self)
		self.combat_manager = CombatManager(self)
		self.strategy_manager = StrategyManager(self)
		self.behavior_manager = BehaviorManager(self)
		self.settlement_expansions = []  # [(coords, settlement)]
		self.goals = [DoNothingGoal(self)]
		self.special_domestic_trade_manager = SpecialDomesticTradeManager(self)
		self.international_trade_manager = InternationalTradeManager(self)
		SettlementRangeChanged.subscribe(self._on_settlement_range_changed)
示例#4
0
 def __init(self):
     self._enabled = True  # whether this player is enabled (currently disabled at the end of the game)
     self.world = self.session.world
     self.islands = {}
     self.settlement_managers = []
     self._settlement_manager_by_settlement_id = {}
     self.missions = set()
     self.fishers = []
     self.settlement_founder = SettlementFounder(self)
     self.unit_builder = UnitBuilder(self)
     self.unit_manager = UnitManager(self)
     self.combat_manager = CombatManager(self)
     self.strategy_manager = StrategyManager(self)
     self.behavior_manager = BehaviorManager(self)
     self.settlement_expansions = []  # [(coords, settlement)]
     self.goals = [DoNothingGoal(self)]
     self.special_domestic_trade_manager = SpecialDomesticTradeManager(self)
     self.international_trade_manager = InternationalTradeManager(self)
     SettlementRangeChanged.subscribe(self._on_settlement_range_changed)