2 // グローバル名前空間にmainManagerがすでに存在する状況下で呼ばれる。
3 // 最初の行で新たなインスタンスを生成し、最後のreturnでそれを返す。
5 stage = new GameStage();
8 stage.runStage = function(){
9 //元々定義されていた、疑似スーパークラス(prototype)の関数を呼び出す。
10 GameStage.prototype.runStage.apply(this, []);
11 this.authform = createDOMObject("form", "authform", "MainArea");
12 this.authform.style.zIndex = 4;
13 this.authform.style.position = "absolute";
14 this.authform.style.top = "200px";
15 this.authform.style.left = "70px";
16 this.authform.onsubmit = function () { this.submitAuth; return false;};
17 this.authform.innerHTML = "ユーザー名:<input id='authUserName' type='text' name='userName' style='z-index:6' size='50'/><br>";
18 this.authform.innerHTML += "<input id='authSubmitButton' type='button' value='ログイン'>";
19 this.authSubmitButton = document.getElementById("authSubmitButton");
20 this.authSubmitButton.onclick = this.submitAuth;
23 stage.submitAuth = function(){
24 request = mainManager.networkManager.CreateRequestObject();
26 var i = mainManager.runningStage.authform.userName.value.indexOf("@");
29 var userName = mainManager.runningStage.authform.userName.value.substring(0, i);
30 var stageName = mainManager.runningStage.authform.userName.value.substring(i + 1);
31 request.open('GET', URL_PCD_Auth + "?action=devjoin&name=" + encodeURIComponent(userName) + "&stage=" + encodeURIComponent(stageName), false);
34 request.open('GET', URL_PCD_Auth + "?action=join&name=" + encodeURIComponent(mainManager.runningStage.authform.userName.value), false);
36 mainManager.networkManager.RequestObjectDisableCache(request);
38 console.log("submit");
40 if(request.status == 0){
41 alert("ネットワークへのアクセスに失敗しました。");
42 }else if((200 <= request.status && request.status < 300) || (request.status == 304)){
43 //alert(this.responseText);
44 if(request.responseText.charAt(0) != "["){
45 alert(request.responseText);
47 result = eval(request.responseText);
49 alert("ログインできません。データベース通信エラーです。");
50 } else if(result[3] == 11){
51 alert("すでにその名前は使われています。他の名前を試してください。");
52 } else if(result[3] == 10){
53 alert("ID:" + result[0] + " でログインしました。");
54 mainManager.userID = result[0];
55 mainManager.timeStamp = result[1];
56 mainManager.loadStageFromNetwork(result[2]);
62 alert("サーバーがエラーを返しました。");
65 return false; //常に送信しない。
68 stage.stopStage = function(){
69 destroyDOMObjectByID("authform");
70 //元々定義されていた、疑似スーパークラス(prototype)の関数を呼び出す。
71 GameStage.prototype.stopStage.apply();
73 stage.timerTick = function(){