Subversion Repositories AndroidProjects

Rev

Blame | Last modification | View Log | RSS feed

package com.gebauz.bauzoid.game.entities;

import java.util.Vector;


public class EntityManager
{
        // Constants========================================================================================

        // Embedded Types===================================================================================

        // Members==========================================================================================
       
        private Vector<BaseEntity> mEntities = new Vector<BaseEntity>();
       
        // Methods==========================================================================================

        public EntityManager()
        {
        }
       
        public void initAsync()
        {
                // initialize entities asynchronously
                for (int i = 0; i < mEntities.size(); i++)
                {
                        mEntities.get(i).initAsync();
                }
        }
       
        public void init()
        {
                // initialize entities
                for (int i = 0; i < mEntities.size(); i++)
                {
                        mEntities.get(i).init();
                }
        }
       
        public void exit()
        {
                // uninitialize entities
                for (int i = mEntities.size()-1; i >= 0; i--)
                {
                        mEntities.get(i).exit();                       
                }
                mEntities.clear();
        }
       
       
        // update and render should be done by GameLogic!
        /*public void update(float deltaTime)
        {
               
        }
       
        public void render()
        {

        }*/

       
        public <T extends BaseEntity> T addEntity(T entity)
        {
                mEntities.add(entity);
                entity.setEntityManager(this);
                return entity;
        }
       
        // Getters/Setters==================================================================================
       
        public BaseEntity getEntity(int i)
        {
                return mEntities.elementAt(i);
        }
       
        public final int getNumEntities()
        {
                return mEntities.size();
        }

}