Rev 994 |
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.app.Consts;
import com.gebauz.burutaru.game.entities.ICollidable;
public class LevelData
extends LevelObject
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
private Vector<BaseCommand
> mCommandList =
new Vector<BaseCommand
>();
private Vector<LevelObject
> mLevelObjects =
new Vector<LevelObject
>();
private String mLevelName =
null;
// Methods==========================================================================================
public LevelData
(Level level
)
{
super(level
);
}
public void initAsync
()
{
// kick off async loading - this is most likely called from the LevelDataAsyncLoader
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
mLevelObjects.
get(i
).
initAsync();
}
}
public void init
()
{
// async loading is done, so tie everything together
Gdx.
app.
log(Consts.
LOG_TAG,
"Level Name: " + mLevelName
);
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
mLevelObjects.
get(i
).
init();
}
}
public void exit
()
{
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
mLevelObjects.
get(i
).
exit();
}
}
public void update
(float deltaTime
)
{
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
mLevelObjects.
get(i
).
update(deltaTime
);
}
}
public void renderBackground
()
{
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
mLevelObjects.
get(i
).
renderBackground();
}
}
public void renderForeground
()
{
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
mLevelObjects.
get(i
).
renderForeground();
}
}
public void addLevelObject
(LevelObject object
)
{
mLevelObjects.
add(object
);
}
public void fillCollidableList
(Vector<ICollidable
> list
)
{
// TODO: check performance implications of instanceof operation
for (int i =
0; i
< mLevelObjects.
size(); i++
)
{
LevelObject obj = mLevelObjects.
get(i
);
if (obj
instanceof ICollidable
)
{
list.
add((ICollidable
)obj
);
}
}
}
// Getters/Setters==================================================================================
public final void setName
(String name
) { mLevelName = name
; }
public final String getName
() { return mLevelName
; }
public final int getNumLevelObjects
() { return mLevelObjects.
size(); }
public final LevelObject getLevelObject
(int i
) { return mLevelObjects.
get(i
); }
}