chemical combustion chamber
This commit is contained in:
@@ -28,6 +28,7 @@ public class DrawLiquidRegion extends DrawBlock{
|
||||
|
||||
@Override
|
||||
public void drawBase(Building build){
|
||||
if(!build.block.hasLiquids) return;
|
||||
|
||||
Liquid drawn = drawLiquid != null ? drawLiquid : build.liquids.current();
|
||||
Drawf.liquid(liquid, build.x, build.y,
|
||||
|
||||
36
core/src/mindustry/world/draw/DrawPistons.java
Normal file
36
core/src/mindustry/world/draw/DrawPistons.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package mindustry.world.draw;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.util.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
public class DrawPistons extends DrawBlock{
|
||||
public float sinMag = 4f, sinScl = 6f, sinOffset = 60f, sideOffset = 0f, lenOffset = -1f;
|
||||
public TextureRegion region1, region2;
|
||||
|
||||
@Override
|
||||
public void drawPlan(Block block, BuildPlan plan, Eachable<BuildPlan> list){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBase(Building build){
|
||||
for(int i = 0; i < 4; i++){
|
||||
float len = Mathf.absin(build.totalProgress() + sinOffset + sideOffset * sinScl * i, sinScl, sinMag) + lenOffset;
|
||||
Draw.rect(i >= 2 ? region2 : region1, build.x + Geometry.d4[i].x * len, build.y + Geometry.d4[i].y * len, i * 90);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(Block block){
|
||||
super.load(block);
|
||||
|
||||
region1 = Core.atlas.find(block.name + "-piston0");
|
||||
region2 = Core.atlas.find(block.name + "-piston1");
|
||||
}
|
||||
}
|
||||
43
core/src/mindustry/world/draw/DrawTurbines.java
Normal file
43
core/src/mindustry/world/draw/DrawTurbines.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package mindustry.world.draw;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.util.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
public class DrawTurbines extends DrawBlock{
|
||||
public TextureRegion[] turbines = new TextureRegion[2];
|
||||
public TextureRegion cap;
|
||||
public float turbineSpeed = 2f;
|
||||
|
||||
@Override
|
||||
public void drawPlan(Block block, BuildPlan plan, Eachable<BuildPlan> list){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBase(Building build){
|
||||
if(!turbines[0].found()) return;
|
||||
|
||||
float totalTime = build.totalProgress();
|
||||
Draw.rect(turbines[0], build.x, build.y, totalTime * turbineSpeed);
|
||||
Draw.rect(turbines[1], build.x, build.y, -totalTime * turbineSpeed);
|
||||
|
||||
if(cap.found()){
|
||||
Draw.rect(cap, build.x, build.y);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(Block block){
|
||||
super.load(block);
|
||||
|
||||
cap = Core.atlas.find(block.name + "-cap");
|
||||
|
||||
for(int i = 0; i < 2; i++){
|
||||
turbines[i] = Core.atlas.find(block.name + "-turbine" + i);
|
||||
}
|
||||
}
|
||||
}
|
||||
36
core/src/mindustry/world/draw/DrawWarmupRegion.java
Normal file
36
core/src/mindustry/world/draw/DrawWarmupRegion.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package mindustry.world.draw;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.util.*;
|
||||
import mindustry.entities.units.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.world.*;
|
||||
|
||||
public class DrawWarmupRegion extends DrawBlock{
|
||||
public float sinMag = 0.6f, sinScl = 8f;
|
||||
public Color color = Color.valueOf("ff9b59");
|
||||
public TextureRegion region;
|
||||
|
||||
@Override
|
||||
public void drawPlan(Block block, BuildPlan plan, Eachable<BuildPlan> list){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawBase(Building build){
|
||||
Draw.color(color);
|
||||
Draw.alpha(build.warmup() * (1f - sinMag) + Mathf.absin(Time.time, sinScl, sinMag) * build.warmup());
|
||||
Draw.rect(region, build.x, build.y);
|
||||
Draw.reset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(Block block){
|
||||
super.load(block);
|
||||
|
||||
region = Core.atlas.find(block.name + "-top");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user