@@ -278,6 +278,13 @@ def __init__(self, timestamp, player_id, event_type, event_code):
278278 self .is_camera_movement = (event_type == 0x03 )
279279 self .is_unknown = (event_type == 0x02 or event_type == 0x04 or event_type == 0x05 )
280280
281+ def _str_prefix (self ):
282+ player_name = self .player .name if self .is_local else "Global"
283+ return "%d\t %-15s " % (self .frame , player_name )
284+
285+ def __str__ (self ):
286+ return self ._str_prefix () + self .name
287+
281288class UnknownEvent (Event ):
282289 name = 'UnknownEvent'
283290
@@ -302,6 +309,9 @@ def __init__(self, frames, pid, type, code, target, minerals, vespene):
302309 self .minerals = minerals
303310 self .vespene = vespene
304311
312+ def __str__ (self ):
313+ return self ._str_prefix () + "%s transfer %d minerals and %d gas to %s" % (self .sender , self .minerals , self .vespene , self .reciever )
314+
305315class AbilityEvent (Event ):
306316 name = 'AbilityEvent'
307317 def __init__ (self , framestamp , player , type , code , ability ):
@@ -330,6 +340,12 @@ def apply(self):
330340 def get_able_selection (self , ability ):
331341 return [obj for obj in self .player .get_selection ().current if hasattr (obj , ability )]
332342
343+ def __str__ (self ):
344+ if not self .ability :
345+ return self ._str_prefix () + "Move"
346+ ability_name = ABILITIES [self .ability ] if self .ability in ABILITIES else "UNKNOWN"
347+ return self ._str_prefix () + "Ability (%s) - %s" % (hex (self .ability ), ability_name )
348+
333349class TargetAbilityEvent (AbilityEvent ):
334350 name = 'TargetAbilityEvent'
335351 def __init__ (self , framestamp , player , type , code , ability , target ):
@@ -363,12 +379,19 @@ def apply(self):
363379 pass
364380 super (TargetAbilityEvent , self ).apply ()
365381
382+ def __str__ (self ):
383+ target = str (self .target ) if self .target else "NONE"
384+ return AbilityEvent .__str__ (self ) + "; Target: %s" % target
385+
366386class LocationAbilityEvent (AbilityEvent ):
367387 name = 'LocationAbilityEvent'
368388 def __init__ (self , framestamp , player , type , code , ability , location ):
369389 super (LocationAbilityEvent , self ).__init__ (framestamp , player , type , code , ability )
370390 self .location = location
371391
392+ def __str__ (self ):
393+ return AbilityEvent .__str__ (self ) + "; Location: %s" % str (self .location )
394+
372395class UnknownAbilityEvent (AbilityEvent ):
373396 name = 'UnknownAbilityEvent'
374397 pass
@@ -384,17 +407,24 @@ def __init__(self, framestamp, player, type, code, hotkey, overlay=None):
384407 self .hotkey = hotkey
385408 self .overlay = overlay
386409
410+ def __str__ (self ):
411+ return self ._str_prefix () + "Hotkey #%d" % self .hotkey
412+
387413class SetToHotkeyEvent (HotkeyEvent ):
388414 name = 'SetToHotkeyEvent'
389415 def apply (self ):
390416 hotkey = self .player .get_hotkey (self .hotkey )
391417 selection = self .player .get_selection ()
392418 hotkey [self .frame ] = selection .current
419+ self .selected = selection .current
393420
394421 # They are alive!
395422 for obj in selection [self .frame ]:
396423 obj .visit (self .frame , self .player )
397424
425+ def __str__ (self ):
426+ return HotkeyEvent .__str__ (self ) + " - Set; Selection: %s" % str (self .selected )
427+
398428class AddToHotkeyEvent (HotkeyEvent ):
399429 name = 'AddToHotkeyEvent'
400430 def apply (self ):
@@ -408,11 +438,15 @@ def apply(self):
408438 hotkeyed .extend (self .player .get_selection ()[self .frame ])
409439 hotkeyed = list (set (hotkeyed )) # remove dups
410440 hotkey [self .frame ] = hotkeyed
441+ self .selected = hotkeyed
411442
412443 # They are alive!
413444 for obj in hotkeyed :
414445 obj .visit (self .frame , self .player )
415446
447+ def __str__ (self ):
448+ return HotkeyEvent .__str__ (self ) + " - Add; Seletion: %s" % str (self .selected )
449+
416450class GetHotkeyEvent (HotkeyEvent ):
417451 name = 'GetHotkeyEvent'
418452 def apply (self ):
@@ -424,11 +458,15 @@ def apply(self):
424458
425459 selection = self .player .get_selection ()
426460 selection [self .frame ] = hotkeyed
461+ self .selected = hotkeyed
427462
428463 # selection is alive!
429464 for obj in hotkeyed :
430465 obj .visit (self .frame , self .player )
431466
467+ def __str__ (self ):
468+ return HotkeyEvent .__str__ (self ) + " - Get; Seletion: %s" % str (self .selected )
469+
432470class SelectionEvent (Event ):
433471 name = 'SelectionEvent'
434472
@@ -464,3 +502,7 @@ def apply(self):
464502 pass
465503
466504 selection [self .frame ] = selected
505+ self .selected = selected
506+
507+ def __str__ (self ):
508+ return self ._str_prefix () + "Selection: " + str (self .selected )
0 commit comments