Making things work; moving lobby stuff entirely into lobby; simplifying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@411 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ChatPanel.java,v 1.1 2001/10/03 23:24:09 mdb Exp $
|
// $Id: ChatPanel.java,v 1.2 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.client;
|
package com.threerings.micasa.client;
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ import com.threerings.micasa.Log;
|
|||||||
|
|
||||||
public class ChatPanel
|
public class ChatPanel
|
||||||
extends JPanel
|
extends JPanel
|
||||||
implements ActionListener, LocationObserver, ChatDisplay, OccupantObserver
|
implements ActionListener, ChatDisplay, OccupantObserver, PlaceView
|
||||||
{
|
{
|
||||||
public ChatPanel (PartyContext ctx)
|
public ChatPanel (PartyContext ctx)
|
||||||
{
|
{
|
||||||
@@ -32,8 +32,7 @@ public class ChatPanel
|
|||||||
_chatdtr = new ChatDirector(_ctx);
|
_chatdtr = new ChatDirector(_ctx);
|
||||||
_chatdtr.addChatDisplay(this);
|
_chatdtr.addChatDisplay(this);
|
||||||
|
|
||||||
// register as a location observer
|
// register as an occupant observer
|
||||||
_ctx.getLocationDirector().addLocationObserver(this);
|
|
||||||
_ctx.getOccupantManager().addOccupantObserver(this);
|
_ctx.getOccupantManager().addOccupantObserver(this);
|
||||||
|
|
||||||
GroupLayout gl = new VGroupLayout(GroupLayout.STRETCH);
|
GroupLayout gl = new VGroupLayout(GroupLayout.STRETCH);
|
||||||
@@ -115,29 +114,6 @@ public class ChatPanel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean locationMayChange (int placeId)
|
|
||||||
{
|
|
||||||
// we're always amenable to change
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void locationDidChange (PlaceObject place)
|
|
||||||
{
|
|
||||||
Log.info("We be here: " + place);
|
|
||||||
|
|
||||||
// enable our chat input elements since we're now somewhere that
|
|
||||||
// we can chat
|
|
||||||
_entry.setEnabled(true);
|
|
||||||
_send.setEnabled(true);
|
|
||||||
_entry.requestFocus();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void locationChangeFailed (int placeId, String reason)
|
|
||||||
{
|
|
||||||
Log.warning("Unable to change to location [plid=" + placeId +
|
|
||||||
", reason=" + reason + "].");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void occupantEntered (OccupantInfo info)
|
public void occupantEntered (OccupantInfo info)
|
||||||
{
|
{
|
||||||
displayOccupantMessage("*** " + info.username + " entered.");
|
displayOccupantMessage("*** " + info.username + " entered.");
|
||||||
@@ -252,6 +228,22 @@ public class ChatPanel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void willEnterPlace (PlaceObject place)
|
||||||
|
{
|
||||||
|
Log.info("We be here: " + place);
|
||||||
|
|
||||||
|
// enable our chat input elements since we're now somewhere that
|
||||||
|
// we can chat
|
||||||
|
_entry.setEnabled(true);
|
||||||
|
_send.setEnabled(true);
|
||||||
|
_entry.requestFocus();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void didLeavePlace (PlaceObject place)
|
||||||
|
{
|
||||||
|
// nothing doing
|
||||||
|
}
|
||||||
|
|
||||||
protected PartyContext _ctx;
|
protected PartyContext _ctx;
|
||||||
protected ChatDirector _chatdtr;
|
protected ChatDirector _chatdtr;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ClientController.java,v 1.3 2001/10/09 00:48:34 mdb Exp $
|
// $Id: ClientController.java,v 1.4 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.client;
|
package com.threerings.micasa.client;
|
||||||
|
|
||||||
@@ -18,7 +18,6 @@ import com.threerings.cocktail.party.data.*;
|
|||||||
import com.threerings.media.sprite.SpriteManager;
|
import com.threerings.media.sprite.SpriteManager;
|
||||||
|
|
||||||
import com.threerings.micasa.Log;
|
import com.threerings.micasa.Log;
|
||||||
import com.threerings.micasa.lobby.LobbyService;
|
|
||||||
import com.threerings.micasa.util.MiCasaContext;
|
import com.threerings.micasa.util.MiCasaContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -51,9 +50,6 @@ public class ClientController
|
|||||||
// we also want to know about occupant changes
|
// we also want to know about occupant changes
|
||||||
_ctx.getOccupantManager().addOccupantObserver(this);
|
_ctx.getOccupantManager().addOccupantObserver(this);
|
||||||
|
|
||||||
// create our lobby panel which we'll use once we're logged on
|
|
||||||
_lobbyPanel = new LobbyPanel(ctx);
|
|
||||||
|
|
||||||
// create the logon panel and display it
|
// create the logon panel and display it
|
||||||
_logonPanel = new LogonPanel(_ctx);
|
_logonPanel = new LogonPanel(_ctx);
|
||||||
// _frame.setPanel(_logonPanel);
|
// _frame.setPanel(_logonPanel);
|
||||||
@@ -84,10 +80,6 @@ public class ClientController
|
|||||||
|
|
||||||
// keep the body object around for stuff
|
// keep the body object around for stuff
|
||||||
_body = (BodyObject)client.getClientObject();
|
_body = (BodyObject)client.getClientObject();
|
||||||
|
|
||||||
// we're logged on, so we lose the login panel and move to our
|
|
||||||
// primary display
|
|
||||||
_frame.setPanel(_lobbyPanel);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// documentation inherited
|
// documentation inherited
|
||||||
@@ -192,5 +184,4 @@ public class ClientController
|
|||||||
|
|
||||||
// our panels
|
// our panels
|
||||||
protected LogonPanel _logonPanel;
|
protected LogonPanel _logonPanel;
|
||||||
protected LobbyPanel _lobbyPanel;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: MiCasaClient.java,v 1.1 2001/10/03 23:24:09 mdb Exp $
|
// $Id: MiCasaClient.java,v 1.2 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.client;
|
package com.threerings.micasa.client;
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ import com.threerings.cocktail.cher.net.*;
|
|||||||
|
|
||||||
import com.threerings.cocktail.party.client.LocationDirector;
|
import com.threerings.cocktail.party.client.LocationDirector;
|
||||||
import com.threerings.cocktail.party.client.OccupantManager;
|
import com.threerings.cocktail.party.client.OccupantManager;
|
||||||
|
import com.threerings.cocktail.party.client.PlaceView;
|
||||||
|
|
||||||
import com.threerings.parlor.client.ParlorDirector;
|
import com.threerings.parlor.client.ParlorDirector;
|
||||||
|
|
||||||
@@ -37,16 +38,6 @@ public class MiCasaClient
|
|||||||
public MiCasaClient (MiCasaFrame frame)
|
public MiCasaClient (MiCasaFrame frame)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
// keep this for later
|
|
||||||
_frame = frame;
|
|
||||||
|
|
||||||
// log off when they close the window
|
|
||||||
_frame.addWindowListener(new WindowAdapter() {
|
|
||||||
public void windowClosing (WindowEvent evt) {
|
|
||||||
_client.logoff(true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// create our context
|
// create our context
|
||||||
_ctx = new MiCasaContextImpl();
|
_ctx = new MiCasaContextImpl();
|
||||||
|
|
||||||
@@ -60,7 +51,17 @@ public class MiCasaClient
|
|||||||
_pardtr = new ParlorDirector(_ctx);
|
_pardtr = new ParlorDirector(_ctx);
|
||||||
|
|
||||||
// for test purposes, hardcode the server info
|
// for test purposes, hardcode the server info
|
||||||
_client.setServer("bering", 4007);
|
_client.setServer("localhost", 4007);
|
||||||
|
|
||||||
|
// keep this for later
|
||||||
|
_frame = frame;
|
||||||
|
|
||||||
|
// log off when they close the window
|
||||||
|
_frame.addWindowListener(new WindowAdapter() {
|
||||||
|
public void windowClosing (WindowEvent evt) {
|
||||||
|
_client.logoff(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// create our client controller and stick it in the frame
|
// create our client controller and stick it in the frame
|
||||||
_frame.setController(new ClientController(_ctx, _frame));
|
_frame.setController(new ClientController(_ctx, _frame));
|
||||||
@@ -117,6 +118,17 @@ public class MiCasaClient
|
|||||||
{
|
{
|
||||||
return _pardtr;
|
return _pardtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPlaceView (PlaceView view)
|
||||||
|
{
|
||||||
|
// stick the place view into our frame
|
||||||
|
_frame.setPanel((JPanel)view);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MiCasaFrame getFrame ()
|
||||||
|
{
|
||||||
|
return _frame;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected MiCasaContext _ctx;
|
protected MiCasaContext _ctx;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: MiCasaFrame.java,v 1.1 2001/10/03 23:24:09 mdb Exp $
|
// $Id: MiCasaFrame.java,v 1.2 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.client;
|
package com.threerings.micasa.client;
|
||||||
|
|
||||||
@@ -25,6 +25,9 @@ public class MiCasaFrame
|
|||||||
// setDefaultCloseOperation(EXIT_ON_CLOSE);
|
// setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the panel that makes up the entire client display.
|
||||||
|
*/
|
||||||
public void setPanel (JPanel panel)
|
public void setPanel (JPanel panel)
|
||||||
{
|
{
|
||||||
// remove the old panel
|
// remove the old panel
|
||||||
@@ -35,6 +38,24 @@ public class MiCasaFrame
|
|||||||
validate();
|
validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the match-making panel to be used when the lobby panel is
|
||||||
|
* being displayed.
|
||||||
|
*/
|
||||||
|
public void setMatchMakingPanel (JPanel panel)
|
||||||
|
{
|
||||||
|
_lopanel.setPrimary(panel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides a reference to the lobby panel that will be used to
|
||||||
|
* provide our lobby interfaces.
|
||||||
|
*/
|
||||||
|
protected void setLobbyPanel (LobbyPanel panel)
|
||||||
|
{
|
||||||
|
_lopanel = panel;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the controller for the outermost scope. This controller will
|
* Sets the controller for the outermost scope. This controller will
|
||||||
* handle all actions that aren't handled by controllers of tigher
|
* handle all actions that aren't handled by controllers of tigher
|
||||||
@@ -52,4 +73,6 @@ public class MiCasaFrame
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected Controller _controller;
|
protected Controller _controller;
|
||||||
|
|
||||||
|
protected LobbyPanel _lopanel;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: LobbyController.java,v 1.1 2001/10/09 00:48:34 mdb Exp $
|
// $Id: LobbyController.java,v 1.2 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.lobby;
|
package com.threerings.micasa.lobby;
|
||||||
|
|
||||||
@@ -9,6 +9,8 @@ import com.threerings.cocktail.party.client.PlaceView;
|
|||||||
import com.threerings.cocktail.party.util.PartyContext;
|
import com.threerings.cocktail.party.util.PartyContext;
|
||||||
|
|
||||||
import com.threerings.micasa.Log;
|
import com.threerings.micasa.Log;
|
||||||
|
import com.threerings.micasa.client.ChatPanel;
|
||||||
|
import com.threerings.micasa.util.MiCasaContext;
|
||||||
|
|
||||||
public class LobbyController extends PlaceController
|
public class LobbyController extends PlaceController
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
//
|
//
|
||||||
// $Id: LobbyManager.java,v 1.2 2001/10/04 23:41:44 mdb Exp $
|
// $Id: LobbyManager.java,v 1.3 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.lobby;
|
package com.threerings.micasa.lobby;
|
||||||
|
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import com.samskivert.util.StringUtil;
|
import com.samskivert.util.StringUtil;
|
||||||
|
|
||||||
|
import com.threerings.cocktail.party.chat.ChatService;
|
||||||
|
import com.threerings.cocktail.party.chat.ChatMessageHandler;
|
||||||
import com.threerings.cocktail.party.server.PlaceManager;
|
import com.threerings.cocktail.party.server.PlaceManager;
|
||||||
import com.threerings.micasa.Log;
|
import com.threerings.micasa.Log;
|
||||||
|
|
||||||
@@ -59,6 +61,11 @@ public class LobbyManager extends PlaceManager
|
|||||||
|
|
||||||
// let the lobby registry know that we're up and running
|
// let the lobby registry know that we're up and running
|
||||||
_lobreg.lobbyReady(_plobj.getOid(), _gameIdent, _name);
|
_lobreg.lobbyReady(_plobj.getOid(), _gameIdent, _name);
|
||||||
|
|
||||||
|
// register a chat message handler because we want to support
|
||||||
|
// chatting
|
||||||
|
MessageHandler handler = new ChatMessageHandler();
|
||||||
|
registerMessageHandler(ChatService.SPEAK_REQUEST, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The universal game identifier for the game matchmade by this
|
/** The universal game identifier for the game matchmade by this
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
//
|
//
|
||||||
// $Id: MiCasaContext.java,v 1.1 2001/10/03 23:24:09 mdb Exp $
|
// $Id: MiCasaContext.java,v 1.2 2001/10/09 17:47:33 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.micasa.util;
|
package com.threerings.micasa.util;
|
||||||
|
|
||||||
import com.threerings.parlor.util.ParlorContext;
|
import com.threerings.parlor.util.ParlorContext;
|
||||||
|
|
||||||
|
import com.threerings.micasa.client.MiCasaFrame;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The micasa context encapsulates the contexts of all of the services
|
* The micasa context encapsulates the contexts of all of the services
|
||||||
* that are used by the micasa client so that we can pass around one
|
* that are used by the micasa client so that we can pass around one
|
||||||
@@ -14,4 +16,7 @@ import com.threerings.parlor.util.ParlorContext;
|
|||||||
public interface MiCasaContext
|
public interface MiCasaContext
|
||||||
extends ParlorContext
|
extends ParlorContext
|
||||||
{
|
{
|
||||||
|
/** Returns a reference to the primary user interface frame. This can
|
||||||
|
* be used to set the top-level panel when we enter a game, etc. */
|
||||||
|
public MiCasaFrame getFrame ();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user