flash/src/com/caucho/games/sudoku/LoginComponent.mxml
<?xml version="1.0"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
title="Login"
borderAlpha="1.0">
<mx:VBox>
<mx:Label text="What's your name?"/>
<mx:TextInput id="userInput" enter="onEnter(event)"/>
<mx:HBox width="100%" horizontalAlign="right">
<mx:Button click="onClick(event)" label="Login"/>
</mx:HBox>
</mx:VBox>
<mx:Script>
<![CDATA[
import flash.display.*;
import mx.controls.*;
import com.caucho.hmtp.LoginSuccessEvent;
import com.caucho.hmtp.HmtpClient;
private var _client:HmtpClient = null;
private var _sudoku:Sudoku = null;
public function set client(c:HmtpClient):void
{
_client = c;
}
public function set sudoku(s:Sudoku):void
{
_sudoku = s;
}
private function onClick(event:Event):void
{
onEnter(event);
}
protected function onEnter(event:Event):void
{
_client.connect();
_client.addEventListener(Event.CONNECT, onConnect);
}
private function onConnect(event:Event):void
{
_client.login(userInput.text, Math.random().toString());
_client.addEventListener(HmtpClient.LOGIN, onLogin);
}
private function onLogin(event:Event):void
{
if (event is LoginSuccessEvent) {
trace("login success!");
_sudoku.onLogin(event, userInput.text);
}
else {
Alert.show("Login failed");
}
}
]]>
</mx:Script>
</mx:TitleWindow>