目前我正在开发一款游戏,一切进展顺利。让我现在很忙的是制作一个在特定区域产生暴徒的暴民生成器。
现在最大的问题是,我不确定如何跟踪生成器生成的所有生物,因为生物有不同的继承。
这是我的 MobSpawner 类:
public class MobSpawner {
protected List<Mob> mobs;
protected Level level;
protected int timer = 0;
protected int spawnTime = 0;
protected int maxMobs = 0;
public MobSpawner(Level level) {
this.level = level;
}
}
这是我的 RoachSpawner 课程:
public class RoachSpawner extends MobSpawner {
public RoachSpawner(Level level) {
super(level);
mobs = new ArrayList<Roach>(); // Roach is an extension of Mob
}
}
这是行不通的,因为 List 和 ArrayList 必须是同一类型。
所以问题是,有没有人有任何其他想法如何做到这一点?
提前致谢!