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; waveb = new ButtonStyle(){{
up = button; up = buttonEdge4;
}}, over = buttonEdgeOver4;
squaret = new TextButtonStyle(){{ disabled = buttonEdge4;
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 defaultt = new TextButtonStyle(){{
defaulti = new ImageButtonStyle(){{ over = buttonOver;
down = buttonDown; disabled = buttonDisabled;
up = button; font = Fonts.def;
over = buttonOver; fontColor = Color.white;
imageDisabledColor = Color.gray; disabledFontColor = Color.gray;
imageUpColor = Color.white; down = buttonDown;
disabled = buttonDisabled; up = button;
}}, }};
nodei = new ImageButtonStyle(){{ squaret = new TextButtonStyle(){{
up = buttonOver; font = Fonts.def;
over = buttonDown; fontColor = Color.white;
}}, disabledFontColor = Color.gray;
righti = new ImageButtonStyle(){{ over = buttonSquareOver;
over = buttonRightOver; disabled = buttonDisabled;
down = buttonRightDown; down = buttonSquareDown;
up = buttonRight; up = buttonSquare;
}}, }};
emptyi = new ImageButtonStyle(){{ nodet = new TextButtonStyle(){{
imageDownColor = Pal.accent; disabled = button;
imageUpColor = Color.white; font = Fonts.def;
}}, fontColor = Color.white;
emptytogglei = new ImageButtonStyle(){{ disabledFontColor = Color.gray;
imageCheckedColor = Color.white; up = buttonOver;
imageDownColor = Color.white; over = buttonDown;
imageUpColor = Color.gray; }};
}}, cleart = new TextButtonStyle(){{
selecti = new ImageButtonStyle(){{ over = flatOver;
checked = buttonSelect; font = Fonts.def;
up = none; fontColor = Color.white;
}}, disabledFontColor = Color.gray;
cleari = new ImageButtonStyle(){{ down = flatOver;
down = flatOver; up = black;
up = black; }};
over = flatOver; discordt = new TextButtonStyle(){{
}}, font = Fonts.def;
clearFulli = new ImageButtonStyle(){{ fontColor = Color.white;
down = whiteui; up = discordBanner;
up = pane; }};
over = flatDown; infot = new TextButtonStyle(){{
}}, font = Fonts.def;
clearPartiali = new ImageButtonStyle(){{ fontColor = Color.white;
down = flatDown; up = infoBanner;
up = none; }};
over = flatOver; clearPartialt = new TextButtonStyle(){{
}}, down = whiteui;
clearPartial2i = new ImageButtonStyle(){{ up = pane;
down = whiteui; over = flatDown;
up = pane; font = Fonts.def;
over = flatDown; fontColor = Color.white;
}}, disabledFontColor = Color.gray;
clearTogglei = new ImageButtonStyle(){{ }};
down = flatDown; clearTogglet = new TextButtonStyle(){{
checked = flatDown; font = Fonts.def;
up = black; fontColor = Color.white;
over = flatOver; checked = flatDown;
}}, down = flatDown;
clearTransi = new ImageButtonStyle(){{ up = black;
down = flatDown; over = flatOver;
up = black6; disabled = black;
over = flatOver; disabledFontColor = Color.gray;
}}, }};
clearToggleTransi = new ImageButtonStyle(){{ clearToggleMenut = new TextButtonStyle(){{
down = flatDown; font = Fonts.def;
checked = flatDown; fontColor = Color.white;
up = black6; checked = flatDown;
over = flatOver; down = flatDown;
}}, up = clear;
clearTogglePartiali = new ImageButtonStyle(){{ over = flatOver;
down = flatDown; disabled = black;
checked = flatDown; disabledFontColor = Color.gray;
up = none; }};
over = flatOver; togglet = new TextButtonStyle(){{
}}; font = Fonts.def;
fontColor = Color.white;
checked = buttonDown;
down = buttonDown;
up = button;
over = buttonOver;
disabled = buttonDisabled;
disabledFontColor = Color.gray;
}};
public static ScrollPaneStyle defaulti = new ImageButtonStyle(){{
defaultPane = new ScrollPaneStyle(){{ down = buttonDown;
vScroll = scroll; up = button;
vScrollKnob = scrollKnobVerticalBlack; over = buttonOver;
}}, imageDisabledColor = Color.gray;
horizontalPane = new ScrollPaneStyle(){{ imageUpColor = Color.white;
vScroll = scroll; disabled = buttonDisabled;
vScrollKnob = scrollKnobVerticalBlack; }};
hScroll = scrollHorizontal; nodei = new ImageButtonStyle(){{
hScrollKnob = scrollKnobHorizontalBlack; up = buttonOver;
}}; over = buttonDown;
}};
public static KeybindDialogStyle righti = new ImageButtonStyle(){{
defaultKeybindDialog = new KeybindDialogStyle(){{ over = buttonRightOver;
keyColor = Pal.accent; down = buttonRightDown;
keyNameColor = Color.white; up = buttonRight;
controllerColor = Color.lightGray; }};
}}; emptyi = new ImageButtonStyle(){{
imageDownColor = Pal.accent;
public static SliderStyle imageUpColor = Color.white;
defaultSlider = new SliderStyle(){{ }};
background = slider; emptytogglei = new ImageButtonStyle(){{
knob = sliderKnob; imageCheckedColor = Color.white;
knobOver = sliderKnobOver; imageDownColor = Color.white;
knobDown = sliderKnobDown; imageUpColor = Color.gray;
}}, }};
vSlider = new SliderStyle(){{ selecti = new ImageButtonStyle(){{
background = sliderVertical; checked = buttonSelect;
knob = sliderKnob; up = none;
knobOver = sliderKnobOver; }};
knobDown = sliderKnobDown; cleari = new ImageButtonStyle(){{
}}; down = flatOver;
up = black;
public static LabelStyle over = flatOver;
defaultLabel = new LabelStyle(){{ }};
font = Fonts.def; clearFulli = new ImageButtonStyle(){{
fontColor = Color.white; down = whiteui;
}}, up = pane;
outlineLabel = new LabelStyle(){{ over = flatDown;
font = Fonts.outline; }};
fontColor = Color.white; clearPartiali = new ImageButtonStyle(){{
}}; down = flatDown;
up = none;
public static TextFieldStyle over = flatOver;
defaultField = new TextFieldStyle(){{ }};
font = Fonts.chat; clearPartial2i = new ImageButtonStyle(){{
fontColor = Color.white; down = whiteui;
disabledFontColor = Color.gray; up = pane;
disabledBackground = underlineDisabled; over = flatDown;
selection = Tex.selection; }};
background = underline; clearTogglei = new ImageButtonStyle(){{
invalidBackground = underlineRed; down = flatDown;
cursor = Tex.cursor; checked = flatDown;
messageFont = Fonts.def; up = black;
messageFontColor = Color.gray; over = flatOver;
}}, }};
areaField = new TextFieldStyle(){{ clearTransi = new ImageButtonStyle(){{
font = Fonts.chat; down = flatDown;
fontColor = Color.white; up = black6;
disabledFontColor = Color.gray; over = flatOver;
selection = Tex.selection; }};
background = underline; clearToggleTransi = new ImageButtonStyle(){{
cursor = Tex.cursor; down = flatDown;
messageFont = Fonts.def; checked = flatDown;
messageFontColor = Color.gray; up = black6;
}}; over = flatOver;
}};
clearTogglePartiali = new ImageButtonStyle(){{
down = flatDown;
checked = flatDown;
up = none;
over = flatOver;
}};
public static CheckBoxStyle defaultPane = new ScrollPaneStyle(){{
defaultCheck = new CheckBoxStyle(){{ vScroll = scroll;
checkboxOn = checkOn; vScrollKnob = scrollKnobVerticalBlack;
checkboxOff = checkOff; }};
checkboxOnOver = checkOnOver; horizontalPane = new ScrollPaneStyle(){{
checkboxOver = checkOver; vScroll = scroll;
checkboxOnDisabled = checkOnDisabled; vScrollKnob = scrollKnobVerticalBlack;
checkboxOffDisabled = checkDisabled; hScroll = scrollHorizontal;
font = Fonts.def; hScrollKnob = scrollKnobHorizontalBlack;
fontColor = Color.white; }};
disabledFontColor = Color.gray;
}};
public static DialogStyle defaultKeybindDialog = new KeybindDialogStyle(){{
defaultDialog = new DialogStyle(){{ keyColor = Pal.accent;
stageBackground = black9; keyNameColor = Color.white;
titleFont = Fonts.def; controllerColor = Color.lightGray;
background = windowEmpty; }};
titleFontColor = Pal.accent;
}}, defaultSlider = new SliderStyle(){{
fullDialog = new DialogStyle(){{ background = slider;
stageBackground = black; knob = sliderKnob;
titleFont = Fonts.def; knobOver = sliderKnobOver;
background = windowEmpty; knobDown = sliderKnobDown;
titleFontColor = Pal.accent; }};
}}; vSlider = new SliderStyle(){{
background = sliderVertical;
knob = sliderKnob;
knobOver = sliderKnobOver;
knobDown = sliderKnobDown;
}};
defaultLabel = new LabelStyle(){{
font = Fonts.def;
fontColor = Color.white;
}};
outlineLabel = new LabelStyle(){{
font = Fonts.outline;
fontColor = Color.white;
}};
defaultField = new TextFieldStyle(){{
font = Fonts.chat;
fontColor = Color.white;
disabledFontColor = Color.gray;
disabledBackground = underlineDisabled;
selection = Tex.selection;
background = underline;
invalidBackground = underlineRed;
cursor = Tex.cursor;
messageFont = Fonts.def;
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;
}};
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");