Subversion Repositories AndroidProjects

Rev

Rev 992 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.burutaru.game.level;

import java.util.Vector;

import com.badlogic.gdx.Gdx;
import com.gebauz.bauzoid.math.collision.AABoundingBox;
import com.gebauz.burutaru.game.GameLogic;
import com.gebauz.burutaru.game.entities.Entity;
import com.gebauz.burutaru.game.entities.ICollidable;
import com.gebauz.burutaru.game.entities.Projectile;

public class Level extends Entity
{

        // Constants========================================================================================

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

        // Fields===========================================================================================
       
        private LevelData mLevelData = null;

        // Methods==========================================================================================

        public Level(GameLogic gameLogic)
        {
                super(gameLogic);
        }
       
        @Override
        public void initAsync()
        {
                getAssetManager().load("data/levels/simple.txt", LevelData.class, new LevelDataAsyncLoader.LevelParameter(this));
        }

        @Override
        public void init()
        {
                mLevelData = getAssetManager().get("data/levels/simple.txt", LevelData.class);
                mLevelData.init();
        }

        @Override
        public void exit()
        {
                if (mLevelData != null)
                {
                        mLevelData.exit();
                        mLevelData = null;
                }
        }

        @Override
        public void update(float deltaTime)
        {
                mLevelData.update(deltaTime);
        }

        @Override
        public void render()
        {
        }
       
        public void renderBackground()
        {
                mLevelData.renderBackground();
        }
       
        public void renderForeground()
        {
                mLevelData.renderForeground();
        }
       
        public void fillCollidableList(Vector<ICollidable> list)
        {
                mLevelData.fillCollidableList(list);
        }
       
        /*
        public boolean checkShipHit()
        {
                return false;
        }
       
       
        public boolean checkProjectileHit(Projectile projectile)
        {
                boolean found = false;
               
                AABoundingBox b = projectile.getBounds();
               
                for (int i = 0; i < mLevelData.getNumLevelObjects(); i++)
                {
                        LevelObject obj = mLevelData.getLevelObject(i);
                       
                        AABoundingBox a = obj.getBounds();
                       
                        // if no bounding box, it means the object is not collidable
                        if (a == null)
                                continue;
                       
                        if (!a.intersetcs(b))
                                continue;
                       
                        // detail check
                        if (obj.checkHit(projectile.getShape(), projectile.getShapeTransform()))
                        {
                                //projectile.processHit(obj);
                                found = true;
                        }                      
                }
               
                return found;
        }
        */

       
        // Getters/Setters==================================================================================

}