Foundation for building AI
This commit is contained in:
@@ -80,11 +80,11 @@ abstract class BuilderComp implements Unitc{
|
||||
}
|
||||
|
||||
if(!(tile.block() instanceof BuildBlock)){
|
||||
if(!current.initialized && !current.breaking && Build.validPlace(team(), current.x, current.y, current.block, current.rotation)){
|
||||
if(!current.initialized && !current.breaking && Build.validPlace(current.block, team(), current.x, current.y, current.rotation)){
|
||||
boolean hasAll = !Structs.contains(current.block.requirements, i -> !core.items().has(i.item));
|
||||
|
||||
if(hasAll || state.rules.infiniteResources){
|
||||
Build.beginPlace(team(), current.x, current.y, current.block, current.rotation);
|
||||
Build.beginPlace(current.block, team(), current.x, current.y, current.rotation);
|
||||
}else{
|
||||
current.stuck = true;
|
||||
}
|
||||
@@ -138,7 +138,7 @@ abstract class BuilderComp implements Unitc{
|
||||
control.input.drawBreaking(request);
|
||||
}else{
|
||||
request.block.drawRequest(request, control.input.allRequests(),
|
||||
Build.validPlace(team(), request.x, request.y, request.block, request.rotation) || control.input.requestMatches(request));
|
||||
Build.validPlace(request.block, team(), request.x, request.y, request.rotation) || control.input.requestMatches(request));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ abstract class PayloadComp implements Posc, Rotc{
|
||||
Tilec tile = payload.entity;
|
||||
int tx = Vars.world.toTile(x - tile.block().offset()), ty = Vars.world.toTile(y - tile.block().offset());
|
||||
Tile on = Vars.world.tile(tx, ty);
|
||||
if(on != null && Build.validPlace(tile.team(), tx, ty, tile.block(), tile.rotation())){
|
||||
if(on != null && Build.validPlace(tile.block(), tile.team(), tx, ty, tile.rotation())){
|
||||
int rot = (int)((rotation() + 45f) / 90f) % 4;
|
||||
payload.place(on, rot);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user