Fixed #6203 / Minor block requirement changes

This commit is contained in:
Anuken
2021-10-21 12:11:54 -04:00
parent 699364580e
commit e9612ce9f0
2 changed files with 36 additions and 11 deletions

View File

@@ -1,10 +1,12 @@
package mindustry.ui.fragments;
import arc.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.scene.*;
import arc.scene.event.*;
import arc.scene.ui.*;
import arc.scene.ui.ImageButton.*;
import arc.scene.ui.layout.*;
import arc.struct.*;
import arc.util.*;
@@ -115,6 +117,23 @@ public class PlayerListFragment extends Fragment{
button.image(Icon.admin).visible(() -> user.admin && !(!user.isLocal() && net.server())).padRight(5).get().updateVisibility();
var style = new ImageButtonStyle(){{
down = Styles.none;
up = Styles.none;
imageCheckedColor = Pal.accent;
imageDownColor = Pal.accent;
imageUpColor = Color.white;
imageOverColor = Color.lightGray;
}};
var ustyle = new ImageButtonStyle(){{
down = Styles.none;
up = Styles.none;
imageDownColor = Pal.accent;
imageUpColor = Color.white;
imageOverColor = Color.lightGray;
}};
if((net.server() || player.admin) && !user.isLocal() && (!user.admin || net.server())){
button.add().growY();
@@ -123,35 +142,41 @@ public class PlayerListFragment extends Fragment{
button.table(t -> {
t.defaults().size(bs);
t.button(Icon.hammer, Styles.clearPartiali,
t.button(Icon.hammer, ustyle,
() -> ui.showConfirm("@confirm", Core.bundle.format("confirmban", user.name()), () -> Call.adminRequest(user, AdminAction.ban)));
t.button(Icon.cancel, Styles.clearPartiali,
t.button(Icon.cancel, ustyle,
() -> ui.showConfirm("@confirm", Core.bundle.format("confirmkick", user.name()), () -> Call.adminRequest(user, AdminAction.kick)));
t.row();
t.button(Icon.admin, Styles.clearTogglePartiali, () -> {
t.button(Icon.admin, style, () -> {
if(net.client()) return;
String id = user.uuid();
if(netServer.admins.isAdmin(id, connection.address)){
ui.showConfirm("@confirm", Core.bundle.format("confirmunadmin", user.name()), () -> netServer.admins.unAdminPlayer(id));
if(user.admin){
ui.showConfirm("@confirm", Core.bundle.format("confirmunadmin", user.name()), () -> {
netServer.admins.unAdminPlayer(id);
user.admin = false;
});
}else{
ui.showConfirm("@confirm", Core.bundle.format("confirmadmin", user.name()), () -> netServer.admins.adminPlayer(id, user.usid()));
ui.showConfirm("@confirm", Core.bundle.format("confirmadmin", user.name()), () -> {
netServer.admins.adminPlayer(id, user.usid());
user.admin = true;
});
}
}).update(b -> b.setChecked(user.admin))
.disabled(b -> net.client())
.touchable(() -> net.client() ? Touchable.disabled : Touchable.enabled)
.checked(user.admin);
t.button(Icon.zoom, Styles.clearPartiali, () -> Call.adminRequest(user, AdminAction.trace));
t.button(Icon.zoom, ustyle, () -> Call.adminRequest(user, AdminAction.trace));
}).padRight(12).size(bs + 10f, bs);
}else if(!user.isLocal() && !user.admin && net.client() && Groups.player.size() >= 3 && player.team() == user.team()){ //votekick
button.add().growY();
button.button(Icon.hammer, Styles.clearPartiali,
button.button(Icon.hammer, ustyle,
() -> {
ui.showConfirm("@confirm", Core.bundle.format("confirmvotekick", user.name()), () -> {
Call.sendChatMessage("/votekick " + user.name());