Better targeting range calculation
This commit is contained in:
@@ -43,7 +43,7 @@ import static mindustry.Vars.*;
|
||||
|
||||
@EntityDef(value = {Buildingc.class}, isFinal = false, genio = false, serialize = false)
|
||||
@Component(base = true)
|
||||
abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, QuadTreeObject, Displayable, Senseable, Controllable{
|
||||
abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, QuadTreeObject, Displayable, Senseable, Controllable, Sized{
|
||||
//region vars and initialization
|
||||
static final float timeToSleep = 60f * 1, timeToUncontrol = 60f * 6;
|
||||
static final ObjectSet<Building> tmpTiles = new ObjectSet<>();
|
||||
@@ -1277,6 +1277,11 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
||||
return tile.build == self() && !dead();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float hitSize(){
|
||||
return tile.block().size * tilesize;
|
||||
}
|
||||
|
||||
@Replace
|
||||
@Override
|
||||
public void kill(){
|
||||
|
||||
@@ -8,7 +8,7 @@ import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
|
||||
@Component
|
||||
abstract class HitboxComp implements Posc, QuadTreeObject{
|
||||
abstract class HitboxComp implements Posc, Sized, QuadTreeObject{
|
||||
@Import float x, y;
|
||||
|
||||
transient float lastX, lastY, deltaX, deltaY, hitSize;
|
||||
@@ -28,6 +28,11 @@ abstract class HitboxComp implements Posc, QuadTreeObject{
|
||||
updateLastPosition();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float hitSize(){
|
||||
return hitSize;
|
||||
}
|
||||
|
||||
void getCollisions(Cons<QuadTree> consumer){
|
||||
|
||||
}
|
||||
|
||||
5
core/src/mindustry/entities/comp/Sized.java
Normal file
5
core/src/mindustry/entities/comp/Sized.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package mindustry.entities.comp;
|
||||
|
||||
public interface Sized{
|
||||
float hitSize();
|
||||
}
|
||||
Reference in New Issue
Block a user