Foundation for building AI

This commit is contained in:
Anuken
2020-06-05 20:41:05 -04:00
parent 685f915656
commit 0b4de1a4fa
13 changed files with 132 additions and 21 deletions

View File

@@ -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));
}
}

View File

@@ -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);