44 lines
1.3 KiB
Java
44 lines
1.3 KiB
Java
import java.util.Random;
|
|
|
|
public class EntityWithIlumCreator <T extends EntityAirbus, U extends IDrawingIlum>
|
|
{
|
|
private final Object[] entityArr;
|
|
private final Object[] IlumArr;
|
|
|
|
int entitiesCount = 0;
|
|
int ilumCount = 0;
|
|
|
|
public EntityWithIlumCreator(int countEntities, int countExtra) {
|
|
entityArr = new Object[countEntities];
|
|
IlumArr = new Object[countExtra];
|
|
}
|
|
|
|
public void Insert(T entityAirbus) {
|
|
if(entitiesCount < entityArr.length) {
|
|
entityArr[entitiesCount] = entityAirbus;
|
|
entitiesCount++;
|
|
}
|
|
}
|
|
|
|
public void Insert (U extra) {
|
|
if(ilumCount < IlumArr.length) {
|
|
IlumArr[ilumCount] = extra;
|
|
ilumCount++;
|
|
}
|
|
}
|
|
|
|
public DrawingAirbus getEntityWithExtra() {
|
|
Random random = new Random();
|
|
int getEntityRandomIndex = random.nextInt(entityArr.length);
|
|
int getExtraRandomIndex = random.nextInt(IlumArr.length);
|
|
|
|
EntityAirbus airbus = (T)entityArr[getEntityRandomIndex];
|
|
IDrawingIlum ilum = (U) IlumArr[getExtraRandomIndex];
|
|
|
|
if (airbus instanceof EntityAdvancedAirbus) {
|
|
return new DrawingAdvancedAirbus(airbus, ilum);
|
|
}
|
|
return new DrawingAirbus(airbus, ilum);
|
|
}
|
|
}
|