Rev 1292 |
Rev 1323 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package com.gebauz.burutaru.game.entities.enemies;
import java.util.Vector;
import com.gebauz.burutaru.game.GameLogic;
import com.gebauz.burutaru.game.entities.Entity;
/** Implementation of an enemy type. */
public abstract class Enemy
extends Entity
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Fields===========================================================================================
protected Vector<EnemyInstance
> mEnemies =
new Vector<EnemyInstance
>();
// Methods==========================================================================================
public Enemy
(GameLogic gameLogic
)
{
super(gameLogic
);
}
@
Override
public void initAsync
()
{
}
@
Override
/** Call this after the derived class has set up everything (sprites, shapes, etc.)!. */
public void init
()
{
for (int i =
0; i
< mEnemies.
size(); i++
)
{
mEnemies.
get(i
).
init();
}
}
@
Override
public void exit
()
{
for (int i =
0; i
< mEnemies.
size(); i++
)
{
mEnemies.
get(i
).
exit();
}
}
@
Override
public void update
(float deltaTime
)
{
for (int i =
0; i
< mEnemies.
size(); i++
)
{
EnemyInstance e = mEnemies.
get(i
);
// check for spawn event
float lt = getLevelTimer
();
if ((lt
<= e.
spawnAt) && ((lt + deltaTime
) > e.
spawnAt))
e.
spawn();
if (e.
isAlive())
e.
update(deltaTime
);
}
}
@
Override
public void render
()
{
for (int i =
0; i
< mEnemies.
size(); i++
)
{
EnemyInstance e = mEnemies.
get(i
);
if (e.
isAlive())
e.
render();
}
}
public abstract EnemyInstance newInstance
(String name
);
// Getters/Setters==================================================================================
public final void addInstance
(EnemyInstance instance
)
{
mEnemies.
add(instance
);
}
public final EnemyInstance getInstance
(int i
)
{
return mEnemies.
get(i
);
}
public final int getNumInstances
()
{
return mEnemies.
size();
}
}