X-Git-Url: https://git.yukkurigames.com/?p=python-bulletml.git;a=blobdiff_plain;f=bulletml%2Fparser.py;h=de3e8170bdd932932e54070f451c8c6fe6db552c;hp=a07cc2dab61f7cb74ba3bbeec0f91d83df08f744;hb=8c89bcae073f0e3c7e58a880512c8accb863bb07;hpb=62bfd556a69becf6b23715a150accac703af9058 diff --git a/bulletml/parser.py b/bulletml/parser.py index a07cc2d..de3e817 100644 --- a/bulletml/parser.py +++ b/bulletml/parser.py @@ -170,6 +170,28 @@ class Wait(object): def __repr__(self): return "%s(%r)" % (type(self).__name__, self.frames) +class Tag(object): + """Set a bullet tag.""" + + def __init__(self, tag): + self.tag = tag + + @classmethod + def FromElement(cls, doc, element): + """Construct using an ElementTree-style element.""" + return cls(element.text) + +class Untag(object): + """Unset a bullet tag.""" + + def __init__(self, tag): + self.tag = tag + + @classmethod + def FromElement(cls, doc, element): + """Construct using an ElementTree-style element.""" + return cls(element.text) + class Vanish(object): """Make the owner disappear.""" @@ -551,13 +573,15 @@ class BulletML(object): self.fires) ActionDef.CONSTRUCTORS = dict( - repeat=Repeat, - fire=FireDef, - fireRef=FireRef, - changeSpeed=ChangeSpeed, - changeDirection=ChangeDirection, - accel=Accel, - wait=Wait, - vanish=Vanish, - action=ActionDef, - actionRef=ActionRef) + repeat=Repeat, + fire=FireDef, + fireRef=FireRef, + changeSpeed=ChangeSpeed, + changeDirection=ChangeDirection, + accel=Accel, + wait=Wait, + vanish=Vanish, + tag=Tag, + untag=Untag, + action=ActionDef, + actionRef=ActionRef)