info_win.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:stellarmagnate 作者: abadger 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号