Fix flash of paint without decals when switching between default and
custom appearance
This commit is contained in:
parent
f1ef2f39d0
commit
b20076f248
@ -37,7 +37,7 @@ public class AppearanceBuilder extends AbstractChangeSource {
|
|||||||
setAppearance(a);
|
setAppearance(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetToDefaults() {
|
private void resetToDefaults() {
|
||||||
paint = new Color(0, 0, 0);
|
paint = new Color(0, 0, 0);
|
||||||
shine = 0;
|
shine = 0;
|
||||||
offsetU = offsetV = 0;
|
offsetU = offsetV = 0;
|
||||||
@ -48,21 +48,26 @@ public class AppearanceBuilder extends AbstractChangeSource {
|
|||||||
edgeMode = EdgeMode.REPEAT;
|
edgeMode = EdgeMode.REPEAT;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAppearance(Appearance a) {
|
public void setAppearance(final Appearance a) {
|
||||||
resetToDefaults();
|
batch(new Runnable() {
|
||||||
if (a != null) {
|
@Override
|
||||||
setPaint(a.getPaint());
|
public void run() {
|
||||||
setShine(a.getShine());
|
resetToDefaults();
|
||||||
Decal d = a.getTexture();
|
if (a != null) {
|
||||||
if (d != null) {
|
setPaint(a.getPaint());
|
||||||
setOffset(d.getOffset().x, d.getOffset().y);
|
setShine(a.getShine());
|
||||||
setCenter(d.getCenter().x, d.getCenter().y);
|
Decal d = a.getTexture();
|
||||||
setScaleUV(d.getScale().x, d.getScale().y);
|
if (d != null) {
|
||||||
setRotation(d.getRotation());
|
setOffset(d.getOffset().x, d.getOffset().y);
|
||||||
setEdgeMode(d.getEdgeMode());
|
setCenter(d.getCenter().x, d.getCenter().y);
|
||||||
setImage(d.getImage());
|
setScaleUV(d.getScale().x, d.getScale().y);
|
||||||
|
setRotation(d.getRotation());
|
||||||
|
setEdgeMode(d.getEdgeMode());
|
||||||
|
setImage(d.getImage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public Appearance getAppearance() {
|
public Appearance getAppearance() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user