Cleanup
This commit is contained in:
57
core/src/mindustry/entities/def/DrawItemsComp.java
Normal file
57
core/src/mindustry/entities/def/DrawItemsComp.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package mindustry.entities.def;
|
||||
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.scene.ui.layout.*;
|
||||
import arc.util.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.ui.*;
|
||||
|
||||
import static mindustry.Vars.itemSize;
|
||||
|
||||
@Component
|
||||
abstract class DrawItemsComp implements Drawc, Itemsc, Posc, Rotc{
|
||||
transient float x, y, rotation;
|
||||
|
||||
float itemTime;
|
||||
|
||||
//drawn after base
|
||||
@Override
|
||||
@MethodPriority(3)
|
||||
public void draw(){
|
||||
boolean number = isLocal();
|
||||
itemTime = Mathf.lerpDelta(itemTime, Mathf.num(hasItem()), 0.05f);
|
||||
|
||||
//draw back items
|
||||
if(itemTime > 0.01f){
|
||||
float backTrns = 5f;
|
||||
float size = (itemSize + Mathf.absin(Time.time(), 5f, 1f)) * itemTime;
|
||||
|
||||
Draw.mixcol(Pal.accent, Mathf.absin(Time.time(), 5f, 0.5f));
|
||||
Draw.rect(item().icon(Cicon.medium),
|
||||
x + Angles.trnsx(rotation + 180f, backTrns),
|
||||
y + Angles.trnsy(rotation + 180f, backTrns),
|
||||
size, size, rotation);
|
||||
|
||||
Draw.mixcol();
|
||||
|
||||
Lines.stroke(1f, Pal.accent);
|
||||
Lines.circle(
|
||||
x + Angles.trnsx(rotation + 180f, backTrns),
|
||||
y + Angles.trnsy(rotation + 180f, backTrns),
|
||||
(3f + Mathf.absin(Time.time(), 5f, 1f)) * itemTime);
|
||||
|
||||
if(isLocal()){
|
||||
Fonts.outline.draw(stack().amount + "",
|
||||
x + Angles.trnsx(rotation + 180f, backTrns),
|
||||
y + Angles.trnsy(rotation + 180f, backTrns) - 3,
|
||||
Pal.accent, 0.25f * itemTime / Scl.scl(1f), false, Align.center
|
||||
);
|
||||
}
|
||||
|
||||
Draw.reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user