var serverListTemplate = "\
\
\
<%korName%>섭 \
\
\
| \
- 폐 쇄 중 - | \
\
";
var serverTextInfo = "\
\
서기 <%year%>년 <%month%>월 (<%scenario%>) \
유저 : <%userCnt%> / <%maxUserCnt%>명 NPC : <%npcCnt%>명 (<%turnTerm%>분 턴 서버) \
(상성 설정:<%fictionMode%>), (기타 설정:<%otherTextInfo%>)\
| \
";
var serverProvisionalInfo = "\
\
- 오픈 일시 : <%opentime%> - \
서기 <%year%>년 <%month%>월 (<%scenario%>) \
유저 : <%userCnt%> / <%maxUserCnt%>명 NPC : <%npcCnt%>명 (<%turnTerm%>분 턴 서버) \
(상성 설정:<%fictionMode%>), (기타 설정:<%otherTextInfo%>)\
| \
";
var serverFullTemplate = "\
- 장수 등록 마감 - | \
";
var serverSelectPoolTemplate = "\
- 미 등 록 - | \
\
\
| \
";
var serverLoginBtn = "";
var serverCreateBtn = "";
var serverSelectNPCBtn = "";
var serverSelectPoolBtn = "";
var serverCreateTemplate = "\
- 미 등 록 -\
| \
<%if(canCreate) {%>\
\
<%}%>\
<%if(canSelectNPC) {%>\
\
<%}%>\
<%if(canSelectPool) {%>\
\
<%}%>\
| ";
var serverLoginTemplate = "\
| \
<%name%> | \
\
\
| \
";
var serverReservedTemplate = "\
\
<%openDatetime==starttime?'':'- 가오픈 일시 : '+openDatetime+ '- '%>\
- 오픈 일시 : <%starttime%> - \
<%scenarioName%> <%turnterm%>분 턴 서버 \
(상성 설정:<%fictionMode%>), (빙의 여부:<%npcMode%>), (최대 스탯:<%gameConf.defaultStatTotal%>), (기타 설정:<%otherTextInfo%>)\
| \
";
$(function () {
$("#btn_logout").click(Entrance_Logout);
Entrance_UpdateServer();
});
function Entrance_UpdateServer() {
$.ajax({
type: 'post',
url: "j_server_get_status.php",
dataType: 'json',
}).then(function (response) {
if (response.result == "SUCCESS") {
Entrance_drawServerList(response.server);
}
});
}
function Entrance_drawServerList(serverInfos) {
var $serverList = $('#server_list');
var now = moment().format('YYYY-MM-DD HH:mm:ss');
$.each(serverInfos, function (idx, serverInfo) {
var $serverHtml = $(TemplateEngine(serverListTemplate, serverInfo));
$serverList.append($serverHtml);
if (!serverInfo.exists) {
return true;
}
var serverPath = "../" + serverInfo.name;
$.getJSON("../" + serverInfo.name + '/j_server_basic_info.php', {}, function (result) {
if (result.reserved) {
$serverHtml.find('.server_down').detach();
$serverHtml.append(
TemplateEngine(serverReservedTemplate, result.reserved)
);
initTooltip($serverHtml);
return;
}
if (!result.game) {
return;
}
var game = result.game;
//TODO: 서버 폐쇄 방식을 새롭게 변경
$serverHtml.find('.server_down').detach();
var serverTime = '%s ~ %s'.format(game.startFrom)
if (game.isUnited == 3) {
$serverHtml.find('.n_country').html('§이벤트 종료§');
$serverHtml.find('.server_date').html('{0}
~ {1}'.format(game.starttime, game.turntime));
} else if (game.isUnited == 1) {
$serverHtml.find('.n_country').html('§이벤트 진행중§');
$serverHtml.find('.server_date').html('{0} ~'.format(game.starttime));
} else if (game.isUnited == 2) {
$serverHtml.find('.n_country').html('§천하통일§');
$serverHtml.find('.server_date').html('{0}
~ {1}'.format(game.starttime, game.turntime));
} else if (game.opentime <= now) {
$serverHtml.find('.n_country').html('<{0}국 경쟁중>'.format(game.nationCnt));
$serverHtml.find('.server_date').html('{0} ~'.format(game.starttime));
} else {
$serverHtml.find('.n_country').html('-가오픈 중-');
$serverHtml.find('.server_date').html('{0} ~'.format(game.starttime));
}
if (game.opentime <= now) {
$serverHtml.append(
TemplateEngine(serverTextInfo, game)
);
} else {
$serverHtml.append(
TemplateEngine(serverProvisionalInfo, game)
);
}
console.log(game.npcMode);
if (result.me && result.me.name) {
var me = result.me;
me.serverPath = serverPath;
$serverHtml.append(
TemplateEngine(serverLoginTemplate, me)
);
} else if (game.userCnt >= game.maxUserCnt) {
$serverHtml.append(
TemplateEngine(serverFullTemplate, {})
);
} else {
$serverHtml.append(
TemplateEngine(serverCreateTemplate, {
serverPath: serverPath,
canCreate: !game.block_general_create,
canSelectNPC: game.npcMode == '가능',
canSelectPool: game.npcMode == '선택 생성'
})
)
}
initTooltip($serverHtml);
});
});
}
function Entrance_Logout() {
$.ajax({
type: 'post',
url: "j_logout.php",
dataType: 'json',
}).then(function (response) {
if (response.result) {
location.href = "../";
} else {
alert('로그아웃 실패');
}
});
}