39 lines
1.3 KiB
Java
39 lines
1.3 KiB
Java
import java.util.Random;
|
|
import java.util.ArrayList;
|
|
public class CreaterGeneric <T extends EntityGasolineTanker, U extends IDrawningObjectWheels>{
|
|
ArrayList<T> GasolineTanker;
|
|
ArrayList<U> Wheels;
|
|
int GasolineTankerCount=0;
|
|
int WheelsCount=0;
|
|
public CreaterGeneric(int gasolineTankerCount,int wheelsCount){
|
|
GasolineTanker=new ArrayList<>(gasolineTankerCount);
|
|
Wheels=new ArrayList<>(wheelsCount);
|
|
}
|
|
public int Add(T gasolineTanker){
|
|
if(GasolineTankerCount<=GasolineTanker.size()){
|
|
GasolineTanker.add(gasolineTanker);
|
|
GasolineTankerCount++;
|
|
return GasolineTankerCount-1;
|
|
}
|
|
return -1;
|
|
}
|
|
public int Add(U wheels){
|
|
if(WheelsCount<=Wheels.size()){
|
|
Wheels.add(wheels);
|
|
WheelsCount++;
|
|
return WheelsCount-1;
|
|
}
|
|
return -1;
|
|
}
|
|
public DrawingGasolineTanker NewGasolineTankerCreating()
|
|
{
|
|
Random rand=new Random();
|
|
T gasolineTanker = (GasolineTanker.get(rand.nextInt(GasolineTankerCount)));
|
|
U wheel = (Wheels.get(rand.nextInt(WheelsCount)));
|
|
if(gasolineTanker instanceof EntityImprovedGasolineTanker){
|
|
return new DrawingImprovedGasolineTanker(gasolineTanker,wheel);
|
|
}
|
|
return new DrawingGasolineTanker(gasolineTanker,wheel);
|
|
}
|
|
}
|