view src/org/dancres/blitz/ActiveObjectRegistry.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
line wrap: on
line source

package org.dancres.blitz;

import java.util.ArrayList;

/**
   @see org.dancres.blitz.ActiveObject
 */
public class ActiveObjectRegistry {
    private static ArrayList theObjects = new ArrayList();
    private static boolean haveStarted = false;

    public synchronized static void add(ActiveObject anObject) {
        theObjects.add(anObject);

        // If already started we have to "automagically" start this object.
        if (haveStarted)
            anObject.begin();
    }

    public synchronized static void startAll() {
        haveStarted = true;

        for (int i = 0; i < theObjects.size(); i++) {
            ((ActiveObject) theObjects.get(i)).begin();
        }
    }

    public synchronized static void stopAll() {
        for (int i = 0; i < theObjects.size(); i++) {
            ActiveObject myObject = (ActiveObject) theObjects.get(i);
            myObject.halt();
        }
    }

    public synchronized static boolean hasStarted() {
        return haveStarted;
    }
}