added projectile system and sample fireball projectile

This commit is contained in:
2025-12-07 00:07:47 +01:00
parent d639e65c15
commit 5da7c43edf
17 changed files with 126 additions and 6 deletions

View File

@@ -49,6 +49,7 @@ public class GamePanel extends JPanel implements Runnable {
public Entity[] obj = new Entity[10];
public Entity[] npc = new Entity[10];
public Entity[] monster = new Entity[20];
public ArrayList<Entity> projectileList = new ArrayList<>();
ArrayList<Entity> entityList = new ArrayList<>();
// GAME STATE
@@ -109,6 +110,13 @@ public class GamePanel extends JPanel implements Runnable {
if(!m.alive) monster[i] = null;
}
}
for(int i = 0; i < projectileList.size(); i++) {
Entity m = projectileList.get(i);
if(m != null) {
if(m.alive) m.update();
else projectileList.remove(i);
}
}
break;
case PAUSE:
break;
@@ -136,6 +144,7 @@ public class GamePanel extends JPanel implements Runnable {
for(Entity entity : npc) if(entity != null) entityList.add(entity);
for(Entity entity : obj) if(entity != null) entityList.add(entity);
for(Entity entity : monster) if(entity != null) entityList.add(entity);
for(Entity entity : projectileList) if(entity != null) entityList.add(entity);
entityList.sort(Comparator.comparingInt(o -> o.worldY));
for(Entity entity : entityList) entity.draw(graphics2d);
entityList.clear();