From 865c00dbfe3c888a8fe4454253fbbf1737fdeab6 Mon Sep 17 00:00:00 2001 From: Tom Conkling Date: Tue, 21 Dec 2010 19:54:57 +0000 Subject: [PATCH] Add a 'destroyed' signal to generated ActionScript DObjects git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6389 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../com/threerings/presents/tools/streamable_as.tmpl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/resources/com/threerings/presents/tools/streamable_as.tmpl b/src/main/resources/com/threerings/presents/tools/streamable_as.tmpl index 9941acf2b..4ec368081 100644 --- a/src/main/resources/com/threerings/presents/tools/streamable_as.tmpl +++ b/src/main/resources/com/threerings/presents/tools/streamable_as.tmpl @@ -32,6 +32,7 @@ public class {{classname}} {{^extends.isEmpty}}extends {{extends}} public var updated{{capitalName}} :Signal = new Signal(int, Object, Object); {{/array}} {{/pubFields}} + public var destroyed :Signal = new Signal(); {{#pubFields}} public static const {{dobjectField}} :String = "{{name}}"; @@ -93,12 +94,14 @@ import com.threerings.presents.dobj.ElementUpdateListener; import com.threerings.presents.dobj.EntryAddedEvent; import com.threerings.presents.dobj.EntryRemovedEvent; import com.threerings.presents.dobj.EntryUpdatedEvent; +import com.threerings.presents.dobj.ObjectDeathListener; +import com.threerings.presents.dobj.ObjectDestroyedEvent; import com.threerings.presents.dobj.SetListener; import {{package}}.{{classname}}; class Signaller - implements AttributeChangeListener, SetListener, ElementUpdateListener + implements AttributeChangeListener, SetListener, ElementUpdateListener, ObjectDeathListener { public function Signaller (obj :{{classname}}) { @@ -181,6 +184,11 @@ class Signaller signal.dispatch(event.getIndex(), event.getValue(), event.getOldValue()); } + public function objectDestroyed (event :ObjectDestroyedEvent) :void + { + _obj.destroyed.dispatch(); + } + protected var _obj :{{classname}}; } // GENERATED SIGNALLER END