本文整理汇总了Python中horizons.messaging.SettlerInhabitantsChanged类的典型用法代码示例。如果您正苦于以下问题:Python SettlerInhabitantsChanged类的具体用法?Python SettlerInhabitantsChanged怎么用?Python SettlerInhabitantsChanged使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SettlerInhabitantsChanged类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: end
def end(self):
self.widgets['minimap'].mapEvents({
'zoomIn' : None,
'zoomOut' : None,
'rotateRight' : None,
'rotateLeft': None,
'destroy_tool' : None,
'build' : None,
'diplomacyButton' : None,
'gameMenuButton' : None
})
for w in self.widgets.itervalues():
if w.parent is None:
w.hide()
self.message_widget = None
self.tabwidgets = None
self.minimap = None
self.resource_overview.end()
self.resource_overview = None
self.hide_menu()
SettlerUpdate.unsubscribe(self._on_settler_level_change)
ResourceBarResize.unsubscribe(self._on_resourcebar_resize)
HoverSettlementChanged.unsubscribe(self._cityinfo_set)
SettlerInhabitantsChanged.unsubscribe(self._on_settler_inhabitant_change)
super(IngameGui, self).end()
示例2: __init__
def __init__(self, ingame_gui):
self._ingame_gui = ingame_gui
self._widget = load_uh_widget('city_info.xml', 'resource_bar')
self._child_finder = PychanChildFinder(self._widget)
self._settlement = None
HoverSettlementChanged.subscribe(self._on_hover_settlement_change)
SettlerInhabitantsChanged.subscribe(self._on_settler_inhabitant_change)
ResourceBarResize.subscribe(self._on_resourcebar_resize)
示例3: initialize
def initialize(self):
super(Settler, self).initialize()
SettlerInhabitantsChanged.broadcast(self, self.inhabitants)
happiness = self.__get_data("happiness_init_value")
if happiness is not None:
self.get_component(StorageComponent).inventory.alter(RES.HAPPINESS, happiness)
if self.has_status_icon:
self.get_component(StorageComponent).inventory.add_change_listener( self._update_status_icon )
# give the user a month (about 30 seconds) to build a main square in range
if self.owner.is_local_player:
Scheduler().add_new_object(self._check_main_square_in_range, self, Scheduler().get_ticks_of_month())
self.__init()
self.run()
示例4: inhabitant_check
def inhabitant_check(self):
"""Checks whether or not the population of this settler should increase or decrease"""
change = 0
if self.happiness > self.session.db.get_settler_happiness_increase_requirement() and \
self.inhabitants < self.inhabitants_max:
change = 1
self.log.debug("%s: inhabitants increase to %s", self, self.inhabitants)
elif self.happiness < self.session.db.get_settler_happiness_decrease_limit() and \
self.inhabitants > 1:
change = -1
self.log.debug("%s: inhabitants decrease to %s", self, self.inhabitants)
if change != 0:
# see http://wiki.unknown-horizons.org/w/Supply_citizens_with_resources
self.get_component(Producer).alter_production_time( 6.0/7.0 * math.log( 1.5 * (self.inhabitants + 1.2) ) )
self.inhabitants += change
SettlerInhabitantsChanged.broadcast(self, change)
self._changed()
示例5: end
def end(self):
HoverSettlementChanged.unsubscribe(self._on_hover_settlement_change)
SettlerInhabitantsChanged.unsubscribe(self._on_settler_inhabitant_change)
ResourceBarResize.unsubscribe(self._on_resourcebar_resize)
示例6: remove
def remove(self):
SettlerInhabitantsChanged.broadcast(self, -self.inhabitants)
UpgradePermissionsChanged.unsubscribe(self._on_change_upgrade_permissions, sender=self.settlement)
super(Settler, self).remove()
示例7: __init__
def __init__(self, session, gui):
super(IngameGui, self).__init__()
self.session = session
assert isinstance(self.session, horizons.session.Session)
self.main_gui = gui
self.main_widget = None
self.tabwidgets = {}
self.settlement = None
self.resource_source = None
self.resources_needed, self.resources_usable = {}, {}
self._old_menu = None
self.widgets = LazyWidgetsDict(self.styles, center_widgets=False)
self.cityinfo = self.widgets['city_info']
self.cityinfo.child_finder = PychanChildFinder(self.cityinfo)
self.logbook = LogBook(self.session)
self.message_widget = MessageWidget(self.session)
self.players_overview = PlayersOverview(self.session)
self.players_settlements = PlayersSettlements(self.session)
self.players_ships = PlayersShips(self.session)
# self.widgets['minimap'] is the guichan gui around the actual minimap,
# which is saved in self.minimap
minimap = self.widgets['minimap']
minimap.position_technique = "right+0:top+0"
icon = minimap.findChild(name="minimap")
self.minimap = Minimap(icon,
targetrenderer=horizons.globals.fife.targetrenderer,
imagemanager=horizons.globals.fife.imagemanager,
session=self.session,
view=self.session.view)
def speed_up():
SpeedUpCommand().execute(self.session)
def speed_down():
SpeedDownCommand().execute(self.session)
minimap.mapEvents({
'zoomIn' : self.session.view.zoom_in,
'zoomOut' : self.session.view.zoom_out,
'rotateRight' : Callback.ChainedCallbacks(self.session.view.rotate_right, self.minimap.rotate_right),
'rotateLeft' : Callback.ChainedCallbacks(self.session.view.rotate_left, self.minimap.rotate_left),
'speedUp' : speed_up,
'speedDown' : speed_down,
'destroy_tool' : self.session.toggle_destroy_tool,
'build' : self.show_build_menu,
'diplomacyButton' : self.show_diplomacy_menu,
'gameMenuButton' : self.main_gui.toggle_pause,
'logbook' : self.logbook.toggle_visibility
})
minimap.show()
#minimap.position_technique = "right+15:top+153"
self.widgets['tooltip'].hide()
self.resource_overview = ResourceOverviewBar(self.session)
ResourceBarResize.subscribe(self._on_resourcebar_resize)
# Register for messages
SettlerUpdate.subscribe(self._on_settler_level_change)
SettlerInhabitantsChanged.subscribe(self._on_settler_inhabitant_change)
HoverSettlementChanged.subscribe(self._cityinfo_set)
示例8: __init__
def __init__(self, session, gui):
super(IngameGui, self).__init__()
self.session = session
assert isinstance(self.session, horizons.session.Session)
self.main_gui = gui
self.main_widget = None
self.tabwidgets = {}
self.settlement = None
self.resource_source = None
self.resources_needed, self.resources_usable = {}, {}
self._old_menu = None
self.widgets = LazyWidgetsDict(self.styles, center_widgets=False)
cityinfo = self.widgets['city_info']
cityinfo.child_finder = PychanChildFinder(cityinfo)
# special settings for really small resolutions
#TODO explain what actually happens
width = horizons.main.fife.engine_settings.getScreenWidth()
x = 'center'
y = 'top'
x_offset = +15
y_offset = +4
if width < 800:
x = 'left'
x_offset = 10
y_offset = +66
elif width < 1020:
x_offset = (1050 - width) / 2
cityinfo.position_technique = "%s%+d:%s%+d" % (x, x_offset, y, y_offset) # usually "center-10:top+4"
self.logbook = LogBook(self.session)
self.message_widget = MessageWidget(self.session)
self.players_overview = PlayersOverview(self.session)
self.players_settlements = PlayersSettlements(self.session)
self.players_ships = PlayersShips(self.session)
self.scenario_chooser = ScenarioChooser(self.session)
# self.widgets['minimap'] is the guichan gui around the actual minimap,
# which is saved in self.minimap
minimap = self.widgets['minimap']
minimap.position_technique = "right+0:top+0"
icon = minimap.findChild(name="minimap")
self.minimap = Minimap(icon,
targetrenderer=horizons.main.fife.targetrenderer,
imagemanager=horizons.main.fife.imagemanager,
session=self.session,
view=self.session.view)
def speed_up():
SpeedUpCommand().execute(self.session)
def speed_down():
SpeedDownCommand().execute(self.session)
minimap.mapEvents({
'zoomIn' : self.session.view.zoom_in,
'zoomOut' : self.session.view.zoom_out,
'rotateRight' : Callback.ChainedCallbacks(self.session.view.rotate_right, self.minimap.rotate_right),
'rotateLeft' : Callback.ChainedCallbacks(self.session.view.rotate_left, self.minimap.rotate_left),
'speedUp' : speed_up,
'speedDown' : speed_down,
'destroy_tool' : self.session.toggle_destroy_tool,
'build' : self.show_build_menu,
'diplomacyButton' : self.show_diplomacy_menu,
'gameMenuButton' : self.main_gui.toggle_pause,
'logbook' : self.logbook.toggle_visibility
})
minimap.show()
#minimap.position_technique = "right+15:top+153"
self.widgets['tooltip'].hide()
self.resource_overview = ResourceOverviewBar(self.session)
ResourceBarResize.subscribe(self._on_resourcebar_resize)
# map buildings to build functions calls with their building id.
# This is necessary because BuildTabs have no session.
self.callbacks_build = dict()
for building_id in Entities.buildings.iterkeys():
self.callbacks_build[building_id] = Callback(self._build, building_id)
# Register for messages
SettlerUpdate.subscribe(self._on_settler_level_change)
SettlerInhabitantsChanged.subscribe(self._on_settler_inhabitant_change)
HoverSettlementChanged.subscribe(self._cityinfo_set)