Pibd-23_Lisov_N.A._AirFight.../Classes/EntityWithEngines.java

46 lines
1.1 KiB
Java
Raw Normal View History

2022-11-22 03:36:42 +04:00
package Classes;
2022-11-22 16:56:54 +04:00
import java.util.ArrayList;
2022-11-22 03:36:42 +04:00
import java.util.Random;
public class EntityWithEngines<T extends EntityAircraft,U extends IDrawingEngines>
{
Random rnd = new Random();
2022-11-22 16:56:54 +04:00
public ArrayList<T> entities;
public ArrayList<U> engines;
2022-11-22 03:36:42 +04:00
2022-11-22 16:56:54 +04:00
public EntityWithEngines()
2022-11-22 03:36:42 +04:00
{
2022-11-22 16:56:54 +04:00
entities = new ArrayList<T>();
engines = new ArrayList<U>();
2022-11-22 03:36:42 +04:00
}
2022-11-22 16:56:54 +04:00
public void addEntity(T aircraft)
2022-11-22 03:36:42 +04:00
{
2022-11-22 16:56:54 +04:00
entities.add(aircraft);
2022-11-22 03:36:42 +04:00
}
2022-11-22 16:56:54 +04:00
public void addEngines(U engine)
2022-11-22 03:36:42 +04:00
{
2022-11-22 16:56:54 +04:00
engines.add(engine);
2022-11-22 03:36:42 +04:00
}
public DrawingObjectAircraft createObject()
{
2022-11-22 16:56:54 +04:00
if(entities.size() == 0 || engines.size() == 0)
2022-11-22 03:36:42 +04:00
{
return null;
}
2022-11-22 16:56:54 +04:00
EntityAircraft entity = (EntityAircraft) entities.get(rnd.nextInt(0, entities.size()));
IDrawingEngines engine = (IDrawingEngines) engines.get(rnd.nextInt(0,engines.size()));
2022-11-22 03:36:42 +04:00
if(entity instanceof EntityMilitaryAircraft modAircraft)
{
return new DrawingObjectAircraft(new DrawingMilitaryAircraft(modAircraft,engine));
}
2022-11-22 16:56:54 +04:00
return new DrawingObjectAircraft(new DrawingAircraft(entity,engine));
2022-11-22 03:36:42 +04:00
}
}