From 9f690c4efb24b7889ea9ba5aa5ea0bf93783a6a2 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sun, 22 Dec 2013 17:44:33 +0100 Subject: [PATCH] Changed Vector to Listeners class. --- .../src/spine/animation/Listeners.as | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 spine-as3/spine-as3/src/spine/animation/Listeners.as diff --git a/spine-as3/spine-as3/src/spine/animation/Listeners.as b/spine-as3/spine-as3/src/spine/animation/Listeners.as new file mode 100644 index 000000000..14c2fd852 --- /dev/null +++ b/spine-as3/spine-as3/src/spine/animation/Listeners.as @@ -0,0 +1,59 @@ +/****************************************************************************** + * Spine Runtime Software License - Version 1.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * Redistribution and use in source and binary forms in whole or in part, with + * or without modification, are permitted provided that the following conditions + * are met: + * + * 1. A Spine Essential, Professional, Enterprise, or Education License must + * be purchased from Esoteric Software and the license must remain valid: + * http://esotericsoftware.com/ + * 2. Redistributions of source code must retain this license, which is the + * above copyright notice, this declaration of conditions and the following + * disclaimer. + * 3. Redistributions in binary form must reproduce this license, which is the + * above copyright notice, this declaration of conditions and the following + * disclaimer, in the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package spine.animation { + public class Listeners { + private var _listeners:Vector. = new Vector.(); + + public function get listeners () : Vector. { + return _listeners; + } + + public function add (listener:Function) : void { + if (listener == null) + throw new ArgumentError("listener cannot be null."); + _listeners.push(listener); + } + + public function remove (listener:Function) : void { + if (listener == null) + throw new ArgumentError("listener cannot be null."); + _listeners.splice(_listeners.indexOf(listener), 1); + } + + public function invoke (... args:*) : void { + for each (var listener:Function in _listeners) + listener.apply(null, args); + } + } +}