Fixed black styles on game reload (Android)

This commit is contained in:
Anuken
2019-09-12 09:06:25 -04:00
parent 41b21c81a0
commit bbaaa91575
3 changed files with 278 additions and 270 deletions

View File

@@ -55,6 +55,7 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
TypeSpec.Builder type = TypeSpec.classBuilder("Tex").addModifiers(Modifier.PUBLIC); TypeSpec.Builder type = TypeSpec.classBuilder("Tex").addModifiers(Modifier.PUBLIC);
TypeSpec.Builder ictype = TypeSpec.classBuilder("Icon").addModifiers(Modifier.PUBLIC); TypeSpec.Builder ictype = TypeSpec.classBuilder("Icon").addModifiers(Modifier.PUBLIC);
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder loadStyles = MethodSpec.methodBuilder("loadStyles").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder icload = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder icload = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
String resources = path + "/assets-raw/sprites/ui"; String resources = path + "/assets-raw/sprites/ui";
Files.walk(Paths.get(resources)).forEach(p -> { Files.walk(Paths.get(resources)).forEach(p -> {
@@ -98,7 +99,7 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
t.getEnclosedElements().stream().filter(e -> e.getKind() == ElementKind.FIELD).forEach(field -> { t.getEnclosedElements().stream().filter(e -> e.getKind() == ElementKind.FIELD).forEach(field -> {
String fname = field.getSimpleName().toString(); String fname = field.getSimpleName().toString();
if(fname.startsWith("default")){ if(fname.startsWith("default")){
load.addStatement("io.anuke.arc.Core.scene.addStyle(" + field.asType().toString() + ".class, io.anuke.mindustry.ui.Styles." + fname + ")"); loadStyles.addStatement("io.anuke.arc.Core.scene.addStyle(" + field.asType().toString() + ".class, io.anuke.mindustry.ui.Styles." + fname + ")");
} }
}); });
} }
@@ -107,6 +108,7 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
JavaFile.builder(packageName, ictype.build()).build().writeTo(Utils.filer); JavaFile.builder(packageName, ictype.build()).build().writeTo(Utils.filer);
type.addMethod(load.build()); type.addMethod(load.build());
type.addMethod(loadStyles.build());
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer); JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
} }

View File

@@ -91,6 +91,8 @@ public class UI implements ApplicationListener, Loadable{
Tex.load(); Tex.load();
Icon.load(); Icon.load();
Styles.load();
Tex.loadStyles();
Dialog.setShowAction(() -> sequence(alpha(0f), fadeIn(0.1f))); Dialog.setShowAction(() -> sequence(alpha(0f), fadeIn(0.1f)));
Dialog.setHideAction(() -> sequence(fadeOut(0.1f))); Dialog.setHideAction(() -> sequence(fadeOut(0.1f)));

View File

@@ -23,281 +23,285 @@ import static io.anuke.mindustry.gen.Tex.*;
@StyleDefaults @StyleDefaults
public class Styles{ public class Styles{
public static Drawable public static Drawable black, black9, black8, black6, black3, none, flatDown, flatOver;
black = whiteui.tint(0f, 0f, 0f, 1f), public static ButtonStyle defaultb, waveb;
black9 = whiteui.tint(0f, 0f, 0f, 0.9f), public static TextButtonStyle defaultt, squaret, nodet, cleart, discordt, infot, clearPartialt, clearTogglet, clearToggleMenut, togglet;
black8 = whiteui.tint(0f, 0f, 0f, 0.8f), public static ImageButtonStyle defaulti, nodei, righti, emptyi, emptytogglei, selecti, cleari, clearFulli, clearPartiali, clearPartial2i, clearTogglei, clearTransi, clearToggleTransi, clearTogglePartiali;
black6 = whiteui.tint(0f, 0f, 0f, 0.6f), public static ScrollPaneStyle defaultPane, horizontalPane;
black3 = whiteui.tint(0f, 0f, 0f, 0.3f), public static KeybindDialogStyle defaultKeybindDialog;
none = whiteui.tint(0f, 0f, 0f, 0f), public static SliderStyle defaultSlider, vSlider;
flatDown = createFlatDown(), public static LabelStyle defaultLabel, outlineLabel;
flatOver = whiteui.tint(Color.valueOf("454545")); public static TextFieldStyle defaultField, areaField;
public static CheckBoxStyle defaultCheck;
public static DialogStyle defaultDialog, fullDialog;
public static ButtonStyle public static void load(){
defaultb = new ButtonStyle(){{ black = whiteui.tint(0f, 0f, 0f, 1f);
down = buttonDown; black9 = whiteui.tint(0f, 0f, 0f, 0.9f);
up = button; black8 = whiteui.tint(0f, 0f, 0f, 0.8f);
over = buttonOver; black6 = whiteui.tint(0f, 0f, 0f, 0.6f);
disabled = buttonDisabled; black3 = whiteui.tint(0f, 0f, 0f, 0.3f);
}}, none = whiteui.tint(0f, 0f, 0f, 0f);
waveb = new ButtonStyle(){{ flatDown = createFlatDown();
up = buttonEdge4; flatOver = whiteui.tint(Color.valueOf("454545"));
over = buttonEdgeOver4;
disabled = buttonEdge4;
}};
public static TextButtonStyle defaultb = new ButtonStyle(){{
defaultt = new TextButtonStyle(){{ down = buttonDown;
over = buttonOver; up = button;
disabled = buttonDisabled; over = buttonOver;
font = Fonts.def; disabled = buttonDisabled;
fontColor = Color.white; }};
disabledFontColor = Color.gray;
down = buttonDown;
up = button;
}},
squaret = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
over = buttonSquareOver;
disabled = buttonDisabled;
down = buttonSquareDown;
up = buttonSquare;
}},
nodet = new TextButtonStyle(){{
disabled = button;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
up = buttonOver;
over = buttonDown;
}},
cleart = new TextButtonStyle(){{
over = flatOver;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
down = flatOver;
up = black;
}},
discordt = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
up = discordBanner;
}},
infot = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
up = infoBanner;
}},
clearPartialt = new TextButtonStyle(){{
down = whiteui;
up = pane;
over = flatDown;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
}},
clearTogglet = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
checked = flatDown;
down = flatDown;
up = black;
over = flatOver;
disabled = black;
disabledFontColor = Color.gray;
}},
clearToggleMenut = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
checked = flatDown;
down = flatDown;
up = clear;
over = flatOver;
disabled = black;
disabledFontColor = Color.gray;
}},
togglet = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
checked = buttonDown;
down = buttonDown;
up = button;
over = buttonOver;
disabled = buttonDisabled;
disabledFontColor = Color.gray;
}};
public static ImageButtonStyle waveb = new ButtonStyle(){{
defaulti = new ImageButtonStyle(){{ up = buttonEdge4;
down = buttonDown; over = buttonEdgeOver4;
up = button; disabled = buttonEdge4;
over = buttonOver; }};
imageDisabledColor = Color.gray;
imageUpColor = Color.white;
disabled = buttonDisabled;
}},
nodei = new ImageButtonStyle(){{
up = buttonOver;
over = buttonDown;
}},
righti = new ImageButtonStyle(){{
over = buttonRightOver;
down = buttonRightDown;
up = buttonRight;
}},
emptyi = new ImageButtonStyle(){{
imageDownColor = Pal.accent;
imageUpColor = Color.white;
}},
emptytogglei = new ImageButtonStyle(){{
imageCheckedColor = Color.white;
imageDownColor = Color.white;
imageUpColor = Color.gray;
}},
selecti = new ImageButtonStyle(){{
checked = buttonSelect;
up = none;
}},
cleari = new ImageButtonStyle(){{
down = flatOver;
up = black;
over = flatOver;
}},
clearFulli = new ImageButtonStyle(){{
down = whiteui;
up = pane;
over = flatDown;
}},
clearPartiali = new ImageButtonStyle(){{
down = flatDown;
up = none;
over = flatOver;
}},
clearPartial2i = new ImageButtonStyle(){{
down = whiteui;
up = pane;
over = flatDown;
}},
clearTogglei = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = black;
over = flatOver;
}},
clearTransi = new ImageButtonStyle(){{
down = flatDown;
up = black6;
over = flatOver;
}},
clearToggleTransi = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = black6;
over = flatOver;
}},
clearTogglePartiali = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = none;
over = flatOver;
}};
public static ScrollPaneStyle defaultt = new TextButtonStyle(){{
defaultPane = new ScrollPaneStyle(){{ over = buttonOver;
vScroll = scroll; disabled = buttonDisabled;
vScrollKnob = scrollKnobVerticalBlack; font = Fonts.def;
}}, fontColor = Color.white;
horizontalPane = new ScrollPaneStyle(){{ disabledFontColor = Color.gray;
vScroll = scroll; down = buttonDown;
vScrollKnob = scrollKnobVerticalBlack; up = button;
hScroll = scrollHorizontal; }};
hScrollKnob = scrollKnobHorizontalBlack; squaret = new TextButtonStyle(){{
}}; font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
over = buttonSquareOver;
disabled = buttonDisabled;
down = buttonSquareDown;
up = buttonSquare;
}};
nodet = new TextButtonStyle(){{
disabled = button;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
up = buttonOver;
over = buttonDown;
}};
cleart = new TextButtonStyle(){{
over = flatOver;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
down = flatOver;
up = black;
}};
discordt = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
up = discordBanner;
}};
infot = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
up = infoBanner;
}};
clearPartialt = new TextButtonStyle(){{
down = whiteui;
up = pane;
over = flatDown;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
}};
clearTogglet = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
checked = flatDown;
down = flatDown;
up = black;
over = flatOver;
disabled = black;
disabledFontColor = Color.gray;
}};
clearToggleMenut = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
checked = flatDown;
down = flatDown;
up = clear;
over = flatOver;
disabled = black;
disabledFontColor = Color.gray;
}};
togglet = new TextButtonStyle(){{
font = Fonts.def;
fontColor = Color.white;
checked = buttonDown;
down = buttonDown;
up = button;
over = buttonOver;
disabled = buttonDisabled;
disabledFontColor = Color.gray;
}};
public static KeybindDialogStyle defaulti = new ImageButtonStyle(){{
defaultKeybindDialog = new KeybindDialogStyle(){{ down = buttonDown;
keyColor = Pal.accent; up = button;
keyNameColor = Color.white; over = buttonOver;
controllerColor = Color.lightGray; imageDisabledColor = Color.gray;
}}; imageUpColor = Color.white;
disabled = buttonDisabled;
}};
nodei = new ImageButtonStyle(){{
up = buttonOver;
over = buttonDown;
}};
righti = new ImageButtonStyle(){{
over = buttonRightOver;
down = buttonRightDown;
up = buttonRight;
}};
emptyi = new ImageButtonStyle(){{
imageDownColor = Pal.accent;
imageUpColor = Color.white;
}};
emptytogglei = new ImageButtonStyle(){{
imageCheckedColor = Color.white;
imageDownColor = Color.white;
imageUpColor = Color.gray;
}};
selecti = new ImageButtonStyle(){{
checked = buttonSelect;
up = none;
}};
cleari = new ImageButtonStyle(){{
down = flatOver;
up = black;
over = flatOver;
}};
clearFulli = new ImageButtonStyle(){{
down = whiteui;
up = pane;
over = flatDown;
}};
clearPartiali = new ImageButtonStyle(){{
down = flatDown;
up = none;
over = flatOver;
}};
clearPartial2i = new ImageButtonStyle(){{
down = whiteui;
up = pane;
over = flatDown;
}};
clearTogglei = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = black;
over = flatOver;
}};
clearTransi = new ImageButtonStyle(){{
down = flatDown;
up = black6;
over = flatOver;
}};
clearToggleTransi = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = black6;
over = flatOver;
}};
clearTogglePartiali = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = none;
over = flatOver;
}};
public static SliderStyle defaultPane = new ScrollPaneStyle(){{
defaultSlider = new SliderStyle(){{ vScroll = scroll;
background = slider; vScrollKnob = scrollKnobVerticalBlack;
knob = sliderKnob; }};
knobOver = sliderKnobOver; horizontalPane = new ScrollPaneStyle(){{
knobDown = sliderKnobDown; vScroll = scroll;
}}, vScrollKnob = scrollKnobVerticalBlack;
vSlider = new SliderStyle(){{ hScroll = scrollHorizontal;
background = sliderVertical; hScrollKnob = scrollKnobHorizontalBlack;
knob = sliderKnob; }};
knobOver = sliderKnobOver;
knobDown = sliderKnobDown;
}};
public static LabelStyle defaultKeybindDialog = new KeybindDialogStyle(){{
defaultLabel = new LabelStyle(){{ keyColor = Pal.accent;
font = Fonts.def; keyNameColor = Color.white;
fontColor = Color.white; controllerColor = Color.lightGray;
}}, }};
outlineLabel = new LabelStyle(){{
font = Fonts.outline;
fontColor = Color.white;
}};
public static TextFieldStyle defaultSlider = new SliderStyle(){{
defaultField = new TextFieldStyle(){{ background = slider;
font = Fonts.chat; knob = sliderKnob;
fontColor = Color.white; knobOver = sliderKnobOver;
disabledFontColor = Color.gray; knobDown = sliderKnobDown;
disabledBackground = underlineDisabled; }};
selection = Tex.selection; vSlider = new SliderStyle(){{
background = underline; background = sliderVertical;
invalidBackground = underlineRed; knob = sliderKnob;
cursor = Tex.cursor; knobOver = sliderKnobOver;
messageFont = Fonts.def; knobDown = sliderKnobDown;
messageFontColor = Color.gray; }};
}},
areaField = new TextFieldStyle(){{
font = Fonts.chat;
fontColor = Color.white;
disabledFontColor = Color.gray;
selection = Tex.selection;
background = underline;
cursor = Tex.cursor;
messageFont = Fonts.def;
messageFontColor = Color.gray;
}};
public static CheckBoxStyle defaultLabel = new LabelStyle(){{
defaultCheck = new CheckBoxStyle(){{ font = Fonts.def;
checkboxOn = checkOn; fontColor = Color.white;
checkboxOff = checkOff; }};
checkboxOnOver = checkOnOver; outlineLabel = new LabelStyle(){{
checkboxOver = checkOver; font = Fonts.outline;
checkboxOnDisabled = checkOnDisabled; fontColor = Color.white;
checkboxOffDisabled = checkDisabled; }};
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
}};
public static DialogStyle defaultField = new TextFieldStyle(){{
defaultDialog = new DialogStyle(){{ font = Fonts.chat;
stageBackground = black9; fontColor = Color.white;
titleFont = Fonts.def; disabledFontColor = Color.gray;
background = windowEmpty; disabledBackground = underlineDisabled;
titleFontColor = Pal.accent; selection = Tex.selection;
}}, background = underline;
fullDialog = new DialogStyle(){{ invalidBackground = underlineRed;
stageBackground = black; cursor = Tex.cursor;
titleFont = Fonts.def; messageFont = Fonts.def;
background = windowEmpty; messageFontColor = Color.gray;
titleFontColor = Pal.accent; }};
}}; areaField = new TextFieldStyle(){{
font = Fonts.chat;
fontColor = Color.white;
disabledFontColor = Color.gray;
selection = Tex.selection;
background = underline;
cursor = Tex.cursor;
messageFont = Fonts.def;
messageFontColor = Color.gray;
}};
defaultCheck = new CheckBoxStyle(){{
checkboxOn = checkOn;
checkboxOff = checkOff;
checkboxOnOver = checkOnOver;
checkboxOver = checkOver;
checkboxOnDisabled = checkOnDisabled;
checkboxOffDisabled = checkDisabled;
font = Fonts.def;
fontColor = Color.white;
disabledFontColor = Color.gray;
}};
defaultDialog = new DialogStyle(){{
stageBackground = black9;
titleFont = Fonts.def;
background = windowEmpty;
titleFontColor = Pal.accent;
}};
fullDialog = new DialogStyle(){{
stageBackground = black;
titleFont = Fonts.def;
background = windowEmpty;
titleFontColor = Pal.accent;
}};
}
private static Drawable createFlatDown(){ private static Drawable createFlatDown(){
AtlasRegion region = Core.atlas.find("flat-down-base"); AtlasRegion region = Core.atlas.find("flat-down-base");