Skip to content

Commit

Permalink
Merge branch 'Atomic-Laboratory-patch-6'
Browse files Browse the repository at this point in the history
  • Loading branch information
Anuken committed Feb 10, 2025
2 parents e3b355b + 3bdb871 commit 4c300af
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 8 deletions.
8 changes: 8 additions & 0 deletions core/src/mindustry/net/ServerGroup.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,18 @@ public boolean hidden(){
return Core.settings.getBool(key() + "-hidden", false);
}

public boolean favorite(){
return Core.settings.getBool(key() + "-favorite", false);
}

public void setHidden(boolean hidden){
Core.settings.put(key() + "-hidden", hidden);
}

public void setFavorite(boolean favorite){
Core.settings.put(key() + "-favorite", favorite);
}

String key(){
return "server-" + (name.isEmpty() ? addresses.length == 0 ? "" : addresses[0] : name);
}
Expand Down
29 changes: 21 additions & 8 deletions core/src/mindustry/ui/dialogs/JoinDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -409,8 +409,11 @@ void refreshCommunity(){

Table[] groupTable = {null, null};

boolean favorite = group.favorite();
if(group.prioritized){
addHeader(groupTable, group, hidden, false);
addHeader(groupTable, group, hidden, favorite, false);
}else if (favorite){
addHeader(groupTable, group, hidden, true, true);//weird behaviour if false?
}
//table containing all groups
for(String address : group.addresses){
Expand All @@ -435,9 +438,9 @@ void refreshCommunity(){
|| (res.modeName != null && res.modeName.toLowerCase().contains(serverSearch)))) return;

if(groupTable[0] == null){
addHeader(groupTable, group, hidden, true);
addHeader(groupTable, group, hidden, favorite, true);
}else if(!groupTable[0].visible){
addHeader(groupTable, group, hidden, true);
addHeader(groupTable, group, hidden, favorite, true);
}

addCommunityHost(res, groupTable[1]);
Expand All @@ -449,7 +452,7 @@ void refreshCommunity(){
}
}

void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean doInit){ // outlined separately
void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean favorite, boolean doInit){ // outlined separately
if(groupTable[0] == null){
global.table(t -> groupTable[0] = t).fillX().left().row();
}
Expand All @@ -466,15 +469,25 @@ void addHeader(Table[] groupTable, ServerGroup group, boolean hidden, boolean do
head.image().height(3f).growX().color(col);

//button for showing/hiding servers
ImageButton[] image = {null};
image[0] = head.button(hidden ? Icon.eyeOffSmall : Icon.eyeSmall, Styles.grayi, () -> {
ImageButton[] image = {null, null};
image[0] = head.button(Icon.star, new ImageButton.ImageButtonStyle(){{
imageUpColor = favorite ? Pal.accent : Color.lightGray;
imageDownColor = Color.white;
}}, () -> {
group.setFavorite(!group.favorite());
image[0].getStyle().imageUpColor = group.favorite() ? Pal.accent : Pal.lightishGray;
}).size(40f).get();
image[0].getStyle().imageUpColor = favorite ? Pal.accent : Pal.lightishGray;

//button for showing/hiding servers
image[1] = head.button(hidden ? Icon.eyeOffSmall : Icon.eyeSmall, Styles.grayi, () -> {
group.setHidden(!group.hidden());
image[0].getStyle().imageUp = group.hidden() ? Icon.eyeOffSmall : Icon.eyeSmall;
image[1].getStyle().imageUp = group.hidden() ? Icon.eyeOffSmall : Icon.eyeSmall;
if(group.hidden() && !showHidden){
groupTable[0].remove();
}
}).size(40f).get();
image[0].addListener(new Tooltip(t -> t.background(Styles.black6).margin(4).label(() -> !group.hidden() ? "@server.shown" : "@server.hidden")));
image[1].addListener(new Tooltip(t -> t.background(Styles.black6).margin(4).label(() -> !group.hidden() ? "@server.shown" : "@server.hidden")));
}).width(targetWidth() * columns()).padBottom(-2).row();

groupTable[1] = groupTable[0].row().table().top().left().grow().get();
Expand Down

0 comments on commit 4c300af

Please sign in to comment.