# Need a little help. Singleton ENTER\_FRAME UpdateList class doesn't work?

**URL:** <https://forum.kirupa.com/t/need-a-little-help-singleton-enter-frame-updatelist-class-doesnt-work/319206>\
**Category:** flash\
**Created:** [February 12, 2011, 5:38am UTC](https://forum.kirupa.com/t/need-a-little-help-singleton-enter-frame-updatelist-class-doesnt-work/319206 "2011-02-12T05:38:42Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rotaercz](https://avatars.discourse-cdn.com/v4/letter/r/7feea3/32.png) [@rotaercz](https://forum.kirupa.com/u/rotaercz)\
**Post date:** [February 12, 2011, 5:38am UTC](https://forum.kirupa.com/t/need-a-little-help-singleton-enter-frame-updatelist-class-doesnt-work/319206/1 "2011-02-12T05:38:42Z")

</div>

I’m making a class that manages all of my updates with a single ENTER\_FRAME. I think I should be getting the OnUpdate trace but it doesn’t seem to work? Could someone help me out? I’m not sure what I’m doing wrong.

```auto

package src {
    import flash.events.Event;
    import flash.events.EventDispatcher;
    
    /**
     * UpdateList
     * @author rotaercz
     */
    public class UpdateList extends EventDispatcher {
        private static var _instance:UpdateList;
        private static var _allowInstantiation:Boolean;
        
        private static var _updateList:Vector.<Function> = new Vector.<Function>();
        
        public static function GetInstance():UpdateList {
            if (_instance == null) {
                _allowInstantiation = true;
                _instance = new UpdateList();
                _instance.addEventListener(Event.ENTER_FRAME, OnUpdate);
                _allowInstantiation = false;
            }
            
            return _instance;
        }
        
        public function UpdateList():void {
            if (!_allowInstantiation) {
                throw new Error("Instantiation failed: Use UpdateList.GetInstance() instead of new.");
            }
        }
        
        private static function OnUpdate(e:Event):void {
            trace("OnUpdate");
            for (var i:int=0; i<_updateList.length; i++) {
                _updateList*();
            }
        }
        
        public static function AddToUpdateList(func:Function):void {
            _updateList.push(func);
        }
        
        public static function CleanUp():void {
            _instance.removeEventListener(Event.ENTER_FRAME, OnUpdate);
            _updateList = null;
        }
    }
}

```

Usage:

```auto

UpdateList.GetInstance();
UpdateList.AddToUpdateList(asdf);

private function asdf():void {
      trace("asdf");
}

```
