Moved to msoy repository.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4002 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Ray Greenwell
2006-04-06 23:15:36 +00:00
parent 64d7f32178
commit 127eebf9a6
9 changed files with 0 additions and 356 deletions
@@ -1,39 +0,0 @@
package com.threerings.msoy.client {
import flash.events.Event;
import mx.containers.HBox;
import mx.controls.Button;
import mx.controls.TextInput;
public class ChatControl extends HBox
{
public function ChatControl (ctx :MsoyContext)
{
_ctx = ctx;
addChild(_txt = new TextInput());
var but :Button = new Button();
but.label = "Send"; // TODO: xlate
addChild(but);
//_txt.addEventListener(FlexEvent.ENTER, sendChat);
//but.addEventListener(FlexEvent.BUTTON_DOWN, sendChat);
_txt.addEventListener("enter", sendChat);
but.addEventListener("buttonDown", sendChat);
}
protected function sendChat (event :Event) :void
{
var message :String = _txt.text;
_txt.text = "";
_ctx.getChatDirector().requestChat(null, message, true);
}
/** Our client-side context. */
protected var _ctx :MsoyContext;
protected var _txt :TextInput;
}
}
@@ -1,55 +0,0 @@
package com.threerings.msoy.client {
import flash.events.Event;
import mx.controls.TextArea;
import com.threerings.crowd.chat.client.ChatDirector;
import com.threerings.crowd.chat.client.ChatDisplay;
import com.threerings.crowd.chat.data.ChatMessage;
public class ChatTextArea extends TextArea
implements ChatDisplay
{
public function ChatTextArea (ctx :MsoyContext)
{
_ctx = ctx;
this.editable = false;
// set up some events to manage how we'll be shown, etc.
addEventListener("creationComplete", checkVis);
addEventListener("show", checkVis);
addEventListener("hide", checkVis);
}
// documentation inherited from interface ChatDisplay
public function clear () :void
{
this.htmlText = "";
}
// documentation inherited from interface ChatDisplay
public function displayMessage (msg :ChatMessage) :void
{
this.htmlText += "<font color=\"red\">&lt;TODO&gt;</font> " +
msg.message;
}
/**
* Check to see if we should register or unregister ourselves as a
* ChatDisplay.
*/
protected function checkVis (event :Event) :void
{
var chatdir :ChatDirector = _ctx.getChatDirector();
if (this.visible) {
chatdir.addChatDisplay(this);
} else {
chatdir.removeChatDisplay(this);
}
}
/** The giver of life. */
protected var _ctx :MsoyContext;
}
}
@@ -1,22 +0,0 @@
package com.threerings.msoy.client {
import mx.core.Application;
import mx.events.FlexEvent;
public class MsoyApp extends Application
{
public function MsoyApp ()
{
super();
addEventListener(attachApplication, nowShowing);
}
/**
* Called once we're ready to go.
*/
private function nowShowing (event :FlexEvent) :void
{
removeEventListener(attachApplication, nowShowing);
}
}
}
@@ -1,71 +0,0 @@
package com.threerings.msoy.client {
import flash.display.Stage;
import mx.core.Application;
import com.threerings.util.Name;
import com.threerings.presents.client.Client;
import com.threerings.presents.dobj.DSet;
import com.threerings.presents.data.ClientObject;
import com.threerings.presents.net.UsernamePasswordCreds;
import com.threerings.presents.dobj.DObjectManager;
import com.threerings.presents.net.BootstrapData;
// imported so that they'll be compiled into the .swf
import com.threerings.presents.data.TimeBaseMarshaller;
import com.threerings.crowd.data.BodyMarshaller;
import com.threerings.crowd.data.LocationMarshaller;
import com.threerings.crowd.chat.data.ChatMarshaller;
import com.threerings.msoy.Log;
import com.threerings.msoy.data.MsoyBootstrapData;
import com.threerings.msoy.data.SimpleChatConfig;
public class MsoyClient extends Client
{
public function MsoyClient (app :Application)
{
super(new UsernamePasswordCreds(new Name("guest"), "guest"));
_ctx = new MsoyContext(this, app);
setServer("tasman.sea.earth.threerings.net", DEFAULT_SERVER_PORT);
logon();
}
// // documetnation inherited
// public override function gotBootstrap (
// data :BootstrapData, omgr :DObjectManager) :void
// {
// super.gotBootstrap(data, omgr);
//
// // let's kick things off by going directly to our global chat room
// // TEMP
// _ctx.getLocationDirector().moveTo((data as MsoyBootstrapData).chatOid);
// }
// documetnation inherited
public override function gotClientObject (clobj :ClientObject) :void
{
super.gotClientObject(clobj);
_ctx.getLocationDirector().moveTo(
(getBootstrapData() as MsoyBootstrapData).chatOid);
}
public function fuckingCompiler () :void
{
var i :int = TimeBaseMarshaller.GET_TIME_OID;
i = LocationMarshaller.LEAVE_PLACE;
i = BodyMarshaller.SET_IDLE;
i = ChatMarshaller.AWAY;
var c :Class = SimpleChatConfig;
}
protected var _ctx :MsoyContext;
}
}
@@ -1,91 +0,0 @@
package com.threerings.msoy.client {
import flash.display.DisplayObject;
import flash.display.Stage;
import mx.core.Application;
import com.threerings.util.MessageManager;
import com.threerings.presents.client.Client;
import com.threerings.presents.dobj.DObjectManager;
import com.threerings.crowd.client.ChatDirector;
import com.threerings.crowd.client.LocationDirector;
import com.threerings.crowd.client.OccupantDirector;
import com.threerings.crowd.client.PlaceView;
import com.threerings.crowd.util.CrowdContext;
import com.threerings.crowd.chat.client.ChatDirector;
public class MsoyContext
implements CrowdContext
{
public function MsoyContext (client :Client, app :Application)
{
_client = client;
_app = app;
// TODO: verify params to these constructors
_msgmgr = new MessageManager("rsrc");
_locdir = new LocationDirector(this);
_chatdir = new ChatDirector(this, _msgmgr, "general");
}
// documentation inherited from superinterface PresentsContext
public function getClient () :Client
{
return _client;
}
// documentation inherited from superinterface PresentsContext
public function getDObjectManager () :DObjectManager
{
return _client.getDObjectManager();
}
// documentation inherited from interface CrowdContext
public function getLocationDirector () :LocationDirector
{
return _locdir;
}
// documentation inherited from interface CrowdContext
public function getOccupantDirector () :OccupantDirector
{
return null; // TODO
}
// documentation inherited from interface CrowdContext
public function getChatDirector () :ChatDirector
{
return _chatdir;
}
// documentation inherited from interface CrowdContext
public function setPlaceView (view :PlaceView) :void
{
for (var ii :int = _app.numChildren - 1; ii >= 0; ii--) {
_app.removeChildAt(ii);
}
_app.addChild(view as DisplayObject);
}
// documentation inherited from interface CrowdContext
public function clearPlaceView (view :PlaceView) :void
{
_app.removeChild(view as DisplayObject);
}
protected var _client :Client;
protected var _app :Application;
protected var _msgmgr :MessageManager;
protected var _locdir :LocationDirector;
protected var _chatdir :ChatDirector;
}
}
@@ -1,15 +0,0 @@
package com.threerings.msoy.client {
import com.threerings.crowd.client.PlaceController;
import com.threerings.crowd.client.PlaceView;
import com.threerings.crowd.util.CrowdContext;
public class SimpleChatController extends PlaceController
{
// documentation inherited
protected override function createPlaceView (ctx :CrowdContext) :PlaceView
{
return new SimpleChatPanel(ctx as MsoyContext);
}
}
}
@@ -1,27 +0,0 @@
package com.threerings.msoy.client {
import mx.containers.VBox;
import com.threerings.crowd.client.PlaceView;
import com.threerings.crowd.data.PlaceObject;
public class SimpleChatPanel extends VBox
implements PlaceView
{
public function SimpleChatPanel (ctx :MsoyContext)
{
addChild(new ChatTextArea(ctx));
addChild(new ChatControl(ctx));
}
// documentation inherited from interface PlaceView
public function willEnterPlace (plobj :PlaceObject) :void
{
}
// documentation inherited from interface PlaceView
public function didLeavePlace (plobj :PlaceObject) :void
{
}
}
}
@@ -1,21 +0,0 @@
package com.threerings.msoy.data {
import com.threerings.presents.net.BootstrapData;
import com.threerings.io.ObjectInputStream;
import com.threerings.io.ObjectOutputStream;
public class MsoyBootstrapData extends BootstrapData
{
/** The oid of the chat room we should join. */
public var chatOid :int;
// documentation inherited
public override function readObject (ins :ObjectInputStream) :void
{
super.readObject(ins);
chatOid = ins.readInt();
}
}
}
@@ -1,15 +0,0 @@
package com.threerings.msoy.data {
import com.threerings.crowd.data.PlaceConfig;
import com.threerings.msoy.client.SimpleChatController;
public class SimpleChatConfig extends PlaceConfig
{
// documentation inherited
public override function getControllerClass () :Class
{
return SimpleChatController;
}
}
}