Package org.javatari.main

Source Code of org.javatari.main.MultiplayerClient

// Copyright 2011-2012 Paulo Augusto Peccin. See licence.txt distributed with this file.

package org.javatari.main;

import java.io.IOException;

import javax.swing.JOptionPane;

import org.javatari.parameters.Parameters;
import org.javatari.pc.room.Room;
import org.javatari.utils.Environment;
import org.javatari.utils.SwingHelper;
import org.javatari.utils.Terminator;

public final class MultiplayerClient {

  public static void main(String[] args) throws IOException, InterruptedException {

    // Initialize application environment
    Environment.init();

    // Load Parameters from properties file and process arguments
    Parameters.init(args);

    // Build a ClientRoom for P2 Client play and turn everything on
    final Room clientRoom = Room.buildClientRoom();
    clientRoom.powerOn();
   
    // Start connection to P1 Server
    askUserForConnection(clientRoom);

  }

  public static void askUserForConnection(final Room room) {
    SwingHelper.edtInvokeLater(new Runnable() { @Override public void run() {
      String server = Parameters.mainArg;
       while(true) {
        // Try connecting to server
         if (server != null && !server.isEmpty()) {
           try {
             room.clientCurrentConsole().remoteReceiver().connect(server);
             return;
           } catch(Exception ex) {
             JOptionPane.showMessageDialog(null, "Unnable to connect to: " + server + "\n" + ex, "Atari Player 2 Client", JOptionPane.ERROR_MESSAGE);
           }
         }
        // If unsuccessful, ask for another address
         do {
          server = (String) JOptionPane.showInputDialog(
            null, "Atari Player 1 Server address[:port]:", "Atari Player 2 Client",
            JOptionPane.PLAIN_MESSAGE, null, null,
            (server != null && !server.isEmpty()) ? server : "localhost"
          );
           if (server == null) Terminator.terminate()// User chose to cancel
           server = server.trim();
         } while(server.isEmpty());
       }
    }});
  }

}
TOP

Related Classes of org.javatari.main.MultiplayerClient

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.