Payload unit update rule
This commit is contained in:
@@ -11,50 +11,59 @@ import mindustry.content.*;
|
||||
import mindustry.core.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
import mindustry.world.*;
|
||||
import mindustry.world.blocks.payloads.*;
|
||||
import mindustry.world.blocks.power.*;
|
||||
|
||||
/** An entity that holds a payload. */
|
||||
@Component
|
||||
abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{
|
||||
@Import float x, y, rotation;
|
||||
@Import Team team;
|
||||
@Import UnitType type;
|
||||
|
||||
Seq<Payload> payloads = new Seq<>();
|
||||
|
||||
//uncomment for insanity
|
||||
|
||||
/*
|
||||
|
||||
|
||||
private transient @Nullable PowerGraph payloadPower;
|
||||
|
||||
@Override
|
||||
public void update(){
|
||||
if(payloadPower != null){
|
||||
payloadPower.clear();
|
||||
}
|
||||
if(Vars.state.rules.unitPayloadUpdate){
|
||||
if(payloadPower != null){
|
||||
payloadPower.clear();
|
||||
}
|
||||
|
||||
//update power graph first, resolve everything
|
||||
for(Payload pay : payloads){
|
||||
if(pay instanceof BuildPayload pb && pb.build.power != null){
|
||||
if(payloadPower == null) payloadPower = new PowerGraph();
|
||||
//update power graph first, resolve everything
|
||||
for(Payload pay : payloads){
|
||||
if(pay instanceof BuildPayload pb && pb.build.power != null){
|
||||
if(payloadPower == null) payloadPower = new PowerGraph();
|
||||
|
||||
pb.build.power.graph = null;
|
||||
payloadPower.add(pb.build);
|
||||
pb.build.team = team;
|
||||
pb.build.power.graph = null;
|
||||
payloadPower.add(pb.build);
|
||||
}
|
||||
}
|
||||
|
||||
if(payloadPower != null){
|
||||
payloadPower.update();
|
||||
}
|
||||
|
||||
for(Payload pay : payloads){
|
||||
if(pay instanceof BuildPayload build){
|
||||
build.build.team = team;
|
||||
}
|
||||
pay.set(x, y, rotation);
|
||||
pay.update(true);
|
||||
}
|
||||
}
|
||||
|
||||
if(payloadPower != null){
|
||||
payloadPower.update();
|
||||
}
|
||||
|
||||
for(Payload pay : payloads){
|
||||
pay.set(x, y, rotation);
|
||||
pay.update(true);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
float payloadUsed(){
|
||||
return payloads.sumf(p -> p.size() * p.size());
|
||||
|
||||
Reference in New Issue
Block a user