def __init__(self, pubpen):
self.pubpen = pubpen
self._location = None
self._free_space = 0
self._filled_space = 0
self._warehouse_free = 0
self._warehouse_used = 0
self._cash = 0
self._bank = 0
self._loan = 0
self._warehouse_sub_id = None
#self._bank_sub_id = None
### FIXME: Implement bank, warehouse, bank, and loan
header2 = urwid.Text('Ship Type:')
self.ship_type_widget = urwid.Text(' ')
header3 = urwid.Text('Free space:')
self.free_space_widget = urwid.Text(' ')
header4 = urwid.Text('Cargo:')
self.filled_space_widget = urwid.Text(' ')
header5 = urwid.Text('Warehouse:')
self.warehouse_free_widget = urwid.Text(' ')
header6 = urwid.Text('Transshipment:')
self.warehouse_used_widget = urwid.Text(' ')
header7 = urwid.Text('Cash:')
self.cash_widget = urwid.Text(' ')
header8 = urwid.Text('Bank:')
self.bank_widget = urwid.Text(' ')
header9 = urwid.Text('Loan:')
self.loan_widget = urwid.Text(' ')
info_list = urwid.SimpleListWalker([header2, self.ship_type_widget,
header3, self.free_space_widget,
header4, self.filled_space_widget,
header5, self.warehouse_free_widget,
header6, self.warehouse_used_widget,
header7, self.cash_widget,
header8, self.bank_widget,
header9, self.loan_widget])
info = urwid.ListBox(info_list)
box = LineBox(info, tlcorner='?', trcorner='?', lline=' ', rline=None, bline=None)
super().__init__(box)
# Primary triggers: These are events that tell us we need to refresh
# our information
self.pubpen.subscribe('ship.moved', self.handle_new_location)
self.pubpen.subscribe('ship.cargo.update', self.handle_cargo_update)
self.pubpen.subscribe('ship.equip.update', self.handle_ship_update)
self.pubpen.subscribe('user.cash.update', self.handle_cash_update)
#self.pubpen.subscribe('user.bank.update')
#self.pubpen.subscribe('user.loan.update')
# Secondary triggers: These are responses to requests for information
self.pubpen.subscribe('ship.info', self.handle_ship_info)
self.pubpen.subscribe('user.info', self.handle_user_info)
# Defer populating the initial values until a user has logged in
self.pubpen.subscribe('user.login_success', self.populate_info)
评论列表
文章目录