Lobby prefs
This commit is contained in:
@@ -534,6 +534,7 @@ setting.sfxvol.name = SFX Volume
|
||||
setting.mutesound.name = Mute Sound
|
||||
setting.crashreport.name = Send Anonymous Crash Reports
|
||||
setting.savecreate.name = Auto-Create Saves
|
||||
setting.publichost.name = Public Game Visibility
|
||||
setting.chatopacity.name = Chat Opacity
|
||||
setting.playerchat.name = Display In-Game Chat
|
||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
||||
|
||||
@@ -13,6 +13,11 @@ import static io.anuke.mindustry.Vars.mobile;
|
||||
|
||||
public interface Platform{
|
||||
|
||||
/**Steam: Update lobby visibility.*/
|
||||
default void updateLobby(){
|
||||
|
||||
}
|
||||
|
||||
/** Add a text input dialog that should show up after the field is tapped. */
|
||||
default void addDialog(TextField field){
|
||||
addDialog(field, 16);
|
||||
|
||||
@@ -223,6 +223,10 @@ public class SettingsMenuDialog extends SettingsDialog{
|
||||
|
||||
game.checkPref("savecreate", true);
|
||||
|
||||
game.checkPref("publichost", false, i -> {
|
||||
platform.updateLobby();
|
||||
});
|
||||
|
||||
game.pref(new Setting(){
|
||||
@Override
|
||||
public void add(SettingsTable table){
|
||||
|
||||
@@ -156,6 +156,11 @@ public class DesktopLauncher extends ClientLauncher{
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLobby(){
|
||||
steamCore.updateLobby();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, Predicate<String> filetype){
|
||||
new FileChooser(text, file -> filetype.test(file.extension().toLowerCase()), open, cons).show();
|
||||
|
||||
@@ -147,7 +147,13 @@ public class SteamCoreNetImpl implements SteamNetworkingCallback, SteamMatchmaki
|
||||
|
||||
@Override
|
||||
public void host(int port) throws IOException{
|
||||
smat.createLobby(LobbyType.values()[Core.settings.getInt("lobbytype", 2)], 32);
|
||||
smat.createLobby(Core.settings.getBool("publichost") ? LobbyType.Public : LobbyType.FriendsOnly, 32);
|
||||
}
|
||||
|
||||
public void updateLobby(){
|
||||
if(currentLobby != null && Net.server()){
|
||||
smat.setLobbyType(currentLobby, Core.settings.getBool("publichost") ? LobbyType.Public : LobbyType.FriendsOnly);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user