Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #@../root/ui.py
- #@Search for:
- def RegisterToolTipWindow(type, createToolTipWindow):
- createToolTipWindowDict[type]=createToolTipWindow
- #@Add after:
- #######################################
- #### START OF REGISTER STRUCT CLASS ####
- """
- How To Use Ex:
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- @E.g #1:
- class ZodiacTempleToolTipBoard(ui.ThinBoard):
- CONFIG = ui.RegisterStructClass('TOOLTIP_BASE_POS TOOLTIP_WIDTH TOOLTIP_HEIGHT TOOLTIP_DEFAULT_SIZE_DICT '
- 'TOOLTIP_TOP_RANK_LIST TOOLTIP_ADD_STRING')(100, 450, 300, {'w': 400, 'h': 500}, [1, 2, 3], 'String')
- def __mem_func__(self):
- print (self.CONFIG.TOOLTIP_BASE_POS, self.CONFIG.TOOLTIP_WIDTH, self.CONFIG.TOOLTIP_HEIGHT, self.CONFIG.TOOLTIP_ADD_STRING)
- print (self.CONFIG.TOOLTIP_DEFAULT_SIZE_DICT.get('w'), self.CONFIG.TOOLTIP_DEFAULT_SIZE_DICT.get('h'))
- print self.CONFIG.TOOLTIP_TOP_RANK_LIST
- @E.g #2:
- self.Transfer(ui.RegisterStructClass('szName lX lY')(player.GetName(), player.GetX(), player.GetY())) # TPacketGGTransfer
- def Transfer(self, c_pData):
- print(c_pData.szName, c_pData.lX, c_pData.lY)
- @E.g #3:
- pack = ui.RegisterStructClass('a b c')(15, {}, [])
- pack.a += 50
- pack.b.update({0: 250})
- pack.c.append(100)
- print (pack.a, pack.b, pack.c)
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- """
- def RegisterStructClass(obj):
- import exception
- if (not isinstance(obj, str)):
- exception.Abort('RegisterStructClass:: Objects {0} need to be as {1}.'.format(type(obj), type(str)))
- def register(self, * kwargs):
- args = obj.split()
- if (len(args) <> len(kwargs)):
- exception.Abort('RegisterStructClass:: Failed to read arguments.')
- [self.__dict__.setdefault(key, value) for (key, value) in zip(args, kwargs)]
- return type('__struct__', (object, ), {'__init__': register})
- ######################################
- #### END OF REGISTER STRUCT CLASS ####
Advertisement
Add Comment
Please, Sign In to add comment