本文整理汇总了Python中horizons.messaging.GuiAction.subscribe方法的典型用法代码示例。如果您正苦于以下问题:Python GuiAction.subscribe方法的具体用法?Python GuiAction.subscribe怎么用?Python GuiAction.subscribe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类horizons.messaging.GuiAction
的用法示例。
在下文中一共展示了GuiAction.subscribe方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: show_main
# 需要导入模块: from horizons.messaging import GuiAction [as 别名]
# 或者: from horizons.messaging.GuiAction import subscribe [as 别名]
def show_main(self):
"""Shows the main menu """
GuiAction.subscribe(self._on_gui_action)
if not self._background.isVisible():
self._background.show()
self.windows.show(self.mainmenu)
示例2: show_main
# 需要导入模块: from horizons.messaging import GuiAction [as 别名]
# 或者: from horizons.messaging.GuiAction import subscribe [as 别名]
def show_main(self):
"""Shows the main menu"""
GuiAction.subscribe(self._on_gui_click_action)
GuiHover.subscribe(self._on_gui_hover_action)
GuiCancelAction.subscribe(self._on_gui_cancel_action)
if not self._background.isVisible():
self._background.show()
self.windows.open(self.mainmenu)
示例3: __init__
# 需要导入模块: from horizons.messaging import GuiAction [as 别名]
# 或者: from horizons.messaging.GuiAction import subscribe [as 别名]
def __init__(self):
self.mainlistener = MainListener(self)
self.current = None # currently active window
self.widgets = LazyWidgetsDict(self.styles) # access widgets with their filenames without '.xml'
build_help_strings(self.widgets['help'])
self.session = None
self.current_dialog = None
self.dialog_executed = False
self.__pause_displayed = False
self._background_image = self._get_random_background()
GuiAction.subscribe( self._on_gui_action )
示例4: subscribe
# 需要导入模块: from horizons.messaging import GuiAction [as 别名]
# 或者: from horizons.messaging.GuiAction import subscribe [as 别名]
def subscribe(self):
"""Subscribe to the necessary messages."""
GuiAction.subscribe(self._on_gui_action)
示例5: __init__
# 需要导入模块: from horizons.messaging import GuiAction [as 别名]
# 或者: from horizons.messaging.GuiAction import subscribe [as 别名]
def __init__(self, session):
super(IngameGui, self).__init__()
self.session = session
assert isinstance(self.session, horizons.session.Session)
self.settlement = None
self._old_menu = None
self.cursor = None
self.coordinates_tooltip = None
self.keylistener = IngameKeyListener(self.session)
self.cityinfo = CityInfo(self)
LastActivePlayerSettlementManager.create_instance(self.session)
self.message_widget = MessageWidget(self.session)
# Windows
self.windows = WindowManager()
self.open_popup = self.windows.open_popup
self.open_error_popup = self.windows.open_error_popup
self.logbook = LogBook(self.session, self.windows)
self.players_overview = PlayersOverview(self.session)
self.players_settlements = PlayersSettlements(self.session)
self.players_ships = PlayersShips(self.session)
self.chat_dialog = ChatDialog(self.windows, self.session)
self.change_name_dialog = ChangeNameDialog(self.windows, self.session)
self.pausemenu = PauseMenu(self.session, self, self.windows, in_editor_mode=False)
self.help_dialog = HelpDialog(self.windows)
# Icon manager
self.status_icon_manager = StatusIconManager(
renderer=self.session.view.renderer['GenericRenderer'],
layer=self.session.view.layers[LAYERS.OBJECTS]
)
self.production_finished_icon_manager = ProductionFinishedIconManager(
renderer=self.session.view.renderer['GenericRenderer'],
layer=self.session.view.layers[LAYERS.OBJECTS]
)
# 'minimap' is the guichan gui around the actual minimap, which is saved
# in self.minimap
self.mainhud = load_uh_widget('minimap.xml')
self.mainhud.position_technique = "right:top"
icon = self.mainhud.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)
self.mainhud.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.toggle_destroy_tool,
'build' : self.show_build_menu,
'diplomacyButton' : self.show_diplomacy_menu,
'gameMenuButton' : self.toggle_pause,
'logbook' : lambda: self.windows.toggle(self.logbook)
})
self.mainhud.show()
GuiAction.subscribe(self._on_gui_click_action)
GuiHover.subscribe(self._on_gui_hover_action)
GuiCancelAction.subscribe(self._on_gui_cancel_action)
hotkey_replacements = {
'rotateRight': 'ROTATE_RIGHT',
'rotateLeft': 'ROTATE_LEFT',
'speedUp': 'SPEED_UP',
'speedDown': 'SPEED_DOWN',
'destroy_tool': 'DESTROY_TOOL',
'build': 'BUILD_TOOL',
'gameMenuButton': 'ESCAPE',
'logbook': 'LOGBOOK',
}
for (widgetname, action) in hotkey_replacements.iteritems():
widget = self.mainhud.findChild(name=widgetname)
keys = horizons.globals.fife.get_keys_for_action(action)
# No `.upper()` here: "Pause" looks better than "PAUSE".
keyname = HOTKEYS.DISPLAY_KEY.get(keys[0], keys[0].capitalize())
widget.helptext = widget.helptext.format(key=keyname)
self.resource_overview = ResourceOverviewBar(self.session)
# Register for messages
SpeedChanged.subscribe(self._on_speed_changed)
NewDisaster.subscribe(self._on_new_disaster)
#.........这里部分代码省略.........
示例6: __init__
# 需要导入模块: from horizons.messaging import GuiAction [as 别名]
# 或者: from horizons.messaging.GuiAction import subscribe [as 别名]
def __init__(self, session):
super().__init__()
self.session = session
assert isinstance(self.session, horizons.session.Session)
self.settlement = None
self._old_menu = None
self.cursor = None
self.coordinates_tooltip = None
self.keylistener = IngameKeyListener(self.session)
self.cityinfo = CityInfo(self)
LastActivePlayerSettlementManager.create_instance(self.session)
self.message_widget = MessageWidget(self.session)
# Windows
self.windows = WindowManager()
self.open_popup = self.windows.open_popup
self.open_error_popup = self.windows.open_error_popup
self.logbook = LogBook(self.session, self.windows)
self.players_overview = PlayersOverview(self.session)
self.players_settlements = PlayersSettlements(self.session)
self.players_ships = PlayersShips(self.session)
self.chat_dialog = ChatDialog(self.windows, self.session)
self.change_name_dialog = ChangeNameDialog(self.windows, self.session)
self.pausemenu = PauseMenu(self.session, self, self.windows, in_editor_mode=False)
self.help_dialog = HelpDialog(self.windows)
# Icon manager
self.status_icon_manager = StatusIconManager(
renderer=self.session.view.renderer['GenericRenderer'],
layer=self.session.view.layers[LAYERS.OBJECTS]
)
self.production_finished_icon_manager = ProductionFinishedIconManager(
renderer=self.session.view.renderer['GenericRenderer'],
layer=self.session.view.layers[LAYERS.OBJECTS]
)
# 'minimap' is the guichan gui around the actual minimap, which is saved
# in self.minimap
self.mainhud = load_uh_widget('minimap.xml')
self.mainhud.position_technique = "right:top"
icon = self.mainhud.findChild(name="minimap")
self.minimap = Minimap(icon,
targetrenderer=horizons.globals.fife.targetrenderer,
imagemanager=horizons.globals.fife.imagemanager,
session=self.session,
view=self.session.view,
mousearea=self.mainhud.findChild(name="minimapMouse"))
def speed_up():
SpeedUpCommand().execute(self.session)
def speed_down():
SpeedDownCommand().execute(self.session)
self.mainhud.mapEvents({
'zoomIn': self.session.view.zoom_in,
'zoomOut': self.session.view.zoom_out,
'rotateRight': Callback.ChainedCallbacks(self.session.view.rotate_right, self.minimap.update_rotation),
'rotateLeft': Callback.ChainedCallbacks(self.session.view.rotate_left, self.minimap.update_rotation),
'speedUp': speed_up,
'speedDown': speed_down,
'destroy_tool': self.toggle_destroy_tool,
'build': self.show_build_menu,
'diplomacyButton': self.show_diplomacy_menu,
'gameMenuButton': self.toggle_pause,
'logbook': lambda: self.windows.toggle(self.logbook)
})
self.mainhud.show()
self._replace_hotkeys_in_widgets()
self.resource_overview = ResourceOverviewBar(self.session)
# Register for messages
SpeedChanged.subscribe(self._on_speed_changed)
NewDisaster.subscribe(self._on_new_disaster)
NewSettlement.subscribe(self._on_new_settlement)
PlayerLevelUpgrade.subscribe(self._on_player_level_upgrade)
MineEmpty.subscribe(self._on_mine_empty)
ZoomChanged.subscribe(self._update_zoom)
GuiAction.subscribe(self._on_gui_click_action)
GuiHover.subscribe(self._on_gui_hover_action)
GuiCancelAction.subscribe(self._on_gui_cancel_action)
# NOTE: This has to be called after the text is replaced!
LanguageChanged.subscribe(self._on_language_changed)
self._display_speed(self.session.timer.ticks_per_second)