diff --git a/src/game/license_timer/input_score.js b/src/game/license_timer/input_score.js
index ae86e1a..b23e7d6 100644
--- a/src/game/license_timer/input_score.js
+++ b/src/game/license_timer/input_score.js
@@ -1,5 +1,6 @@
function InputScore(chart) {
this.chart = chart;
+ this.licenseDataManager = new LicenseDataManager();
this.initVariables();
@@ -31,8 +32,8 @@ function InputScore(chart) {
var subjectTextSetting = this.makeInputTextSetting(280, "과목 입력");
- this.subjectText = this.makeInputText(120, this.inputScorePosY + 10, subjectTextSetting);
- this.subjectText.setText(this.subject);
+ this.subjectFullnameText = this.makeInputText(120, this.inputScorePosY + 10, subjectTextSetting);
+ this.setSubjectFullname(this.subjectFullname);
var titleTextStyle = { font: "36px Arial", fill: "#fff", align: "center"};
this.titleText = game.add.text(440, this.inputScorePosY + 40, "점수", titleTextStyle);
@@ -60,7 +61,7 @@ function InputScore(chart) {
(function() { this.onClickSendToServerButton(); }).bind(this)
);
- this.loadLicenseCompanySubjectData();
+ // this.loadLicenseCompanySubjectData();
this.makeLicenseCompanySubjectPanel();
this.setVisibleLicenseCompanyPanel(false);
this.setVisibleLicenseSubjectPanel(false, "");
@@ -69,8 +70,8 @@ function InputScore(chart) {
InputScore.prototype.initVariables = function() {
this.inputScorePosY = GAME_SCREEN_SIZE.y - InputScore.INPUT_SCORE_GROUP_OFFSET_Y;
- this.subject = "ITQ 파워포인트";
- this.recentSubject = this.subject;
+ this.subjectFullname = "ITQ 파워포인트";
+ this.recentSubject = this.subjectFullname;
this.licenseCompanyButtonList = [];
this.licenseSubjectButtonList = [];
@@ -103,7 +104,11 @@ InputScore.prototype.makeInputText = function(x, y, setting) {
return inputText;
}
-
+InputScore.prototype.setSubjectFullname = function(fullname) {
+ this.subjectFullname = fullname;
+ // this.subjectFullnameText.text = fullname;
+ this.subjectFullnameText.setText(this.subjectFullname);
+}
InputScore.prototype.onClickSubjectButton = function() {
if(!this.licenseCompanyPanel.visible)
@@ -116,9 +121,10 @@ InputScore.prototype.onClickSubjectButton = function() {
+/*
InputScore.prototype.loadLicenseCompanySubjectData = function() {
this.licenseCompanies = [];
- this.licenseCompanySubjects = [];
+ this.licenseSubjects = [];
// console.log(licenseCompanySubjectList);
this.maxSubjectCount = 0;
@@ -143,7 +149,7 @@ InputScore.prototype.loadLicenseCompanySubjectData = function() {
companyData.subjectData[j].gradeList
);
- this.licenseCompanySubjects.push(licenseCompnaySubjectItem);
+ this.licenseSubjects.push(licenseCompnaySubjectItem);
}
}
@@ -153,12 +159,14 @@ InputScore.prototype.loadLicenseCompanySubjectData = function() {
}
// console.log(this.licenseCompanies);
- // console.log(this.licenseCompanySubjects);
+ // console.log(this.licenseSubjects);
// console.log(this.maxSubjectCount);
}
+*/
InputScore.prototype.makeLicenseCompanySubjectPanel = function() {
- var buttonStackCount = Math.floor(licenseCompanySubjectList.length / 7) + 1;
+ var companyCount = this.licenseDataManager.getCompanyCount();
+ var buttonStackCount = Math.floor(companyCount / 7) + 1;
var gapWidth = 10;
var licenseCompanyPanelWidth = gapWidth + (InputScore.LICENSE_COMPANY_BUTTON_WIDTH + gapWidth) * buttonStackCount;
@@ -189,11 +197,11 @@ InputScore.prototype.makeLicenseCompanySubjectPanel = function() {
setting.fontStyle.fontWeight = "bold";
// license company buttons
- for(var i = 0; i < licenseCompanySubjectList.length; i++) {
+ for(var i = 0; i < companyCount; i++) {
setting.width = InputScore.LICENSE_COMPANY_BUTTON_WIDTH;
var self = this;
- var companyName = licenseCompanySubjectList[i].companyName;
+ var companyName = this.licenseDataManager.getCompanyName(i);
this.licenseCompanyButtonList[i] = new RoundRectButton(
setting, null, companyName,
(function() { self.setVisibleLicenseSubjectPanel(true, this.text.text); })
@@ -201,10 +209,11 @@ InputScore.prototype.makeLicenseCompanySubjectPanel = function() {
}
// license subject buttons
- for(var i = 0; i < this.licenseCompanySubjects.length; i++) {
+ var subjectCount = this.licenseDataManager.getSubjectCount();
+ for(var i = 0; i < subjectCount; i++) {
setting.width = InputScore.LICENSE_SUBJECT_BUTTON_WIDTH;
- var companySubjectData = this.licenseCompanySubjects[i];
+ var companySubjectData = this.licenseDataManager.getSubjectDataByIndex(i);
var companySubjectName = companySubjectData.companyName + " " + companySubjectData.subjectName;
this.licenseSubjectButtonList[i] = new RoundRectButton(setting, null, companySubjectName, null);
}
@@ -250,8 +259,9 @@ InputScore.prototype.setVisibleLicenseSubjectPanel = function(flag, companyName)
return;
var buttonIndex = 0;
- for(var i = 0; i < this.licenseCompanySubjects.length; i++) {
- var subjectData = this.licenseCompanySubjects[i];
+ var subjectCount = this.licenseDataManager.getSubjectCount();
+ for(var i = 0; i < subjectCount; i++) {
+ var subjectData = this.licenseDataManager.getSubjectDataByIndex(i);
if(subjectData.companyName == companyName) {
var button = this.licenseSubjectButtonList[buttonIndex];
@@ -273,8 +283,7 @@ InputScore.prototype.setVisibleLicenseSubjectPanel = function(flag, companyName)
}
InputScore.prototype.onClickCompanySubjectButton = function(companySubjectName) {
- console.log(companySubjectName);
- // this.subjectText.setText(companySubjectName);
+ this.setSubjectFullname(companySubjectName);
}
@@ -305,10 +314,12 @@ InputScore.LICENSE_BUTTON_GAP_HEIGHT = 64;
InputScore.LICENSE_SUBJECT_BUTTON_MAX_COUNT = 6;
+/*
function LicenseCompanySubjectData(companyName, subjectName, timeLimit, maxScore, gradeList) {
this.companyName = companyName;
this.subjectName = subjectName;
this.timeLimit = timeLimit;
this.maxScore = maxScore;
this.gradeList = gradeList;
-}
\ No newline at end of file
+}
+*/
\ No newline at end of file
diff --git a/src/game/license_timer/license_data/company_subject.js b/src/game/license_timer/license_data/company_subject.js
index b0f5255..0c3a851 100644
--- a/src/game/license_timer/license_data/company_subject.js
+++ b/src/game/license_timer/license_data/company_subject.js
@@ -5,11 +5,11 @@ var licenseCompanySubjectList = [
{
timeLimit: 60,
maxScore: 500,
- gradeList: {
- A: 400,
- B: 300,
- C: 200
- },
+ gradeList: [
+ { score: 400, grade: "A" },
+ { score: 300, grade: "B" },
+ { score: 200, grade: "C" }
+ ],
subjects: [
"아래한글",
"한셀",
@@ -30,11 +30,11 @@ var licenseCompanySubjectList = [
{
timeLimit: 40,
maxScore: 200,
- gradeList: {
- 고급: 160,
- 중급: 120,
- 초급: 80
- },
+ gradeList: [
+ { score: 160, grade: "고급" },
+ { score: 120, grade: "중급" },
+ { score: 80, grade: "초금" }
+ ],
subjects: [
"프리젠테이션",
"스프레드시트",
@@ -46,11 +46,11 @@ var licenseCompanySubjectList = [
{
timeLimit: 40,
maxScore: 100,
- gradeList: {
- 고급: 80,
- 중급: 60,
- 초급: 40
- },
+ gradeList: [
+ { score: 80, grade: "고급" },
+ { score: 60, grade: "중급" },
+ { score: 40, grade: "초금" }
+ ],
subjects: [
"인터넷정보검색",
"정보통신상식"
diff --git a/src/game/license_timer/license_data_manager.js b/src/game/license_timer/license_data_manager.js
new file mode 100644
index 0000000..1b1bc5d
--- /dev/null
+++ b/src/game/license_timer/license_data_manager.js
@@ -0,0 +1,106 @@
+function LicenseCompanySubjectData(companyName, subjectName, timeLimit, maxScore, gradeList) {
+ this.companyName = companyName;
+ this.subjectName = subjectName;
+ this.timeLimit = timeLimit;
+ this.maxScore = maxScore;
+ this.gradeList = gradeList;
+}
+
+LicenseCompanySubjectData.prototype.isNameOf = function(companySubjectName) {
+ var name = this.companyName + " " + this.subjectName;
+ if(name == companySubjectName)
+ return true;
+
+ return false;
+}
+
+
+function LicenseDataManager() {
+ this.licenseCompanies = [];
+ this.licenseSubjects = [];
+
+ // console.log(licenseCompanySubjectList);
+ this.maxSubjectCount = 0;
+ for(var i = 0; i < licenseCompanySubjectList.length; i++) {
+ this.licenseCompanies[i] = licenseCompanySubjectList[i].companyName;
+
+ var subjectCount = 0;
+ var companyData = licenseCompanySubjectList[i];
+ // console.log(companyData);
+ var subjectData = companyData.subjectData;
+ // console.log(subjectData);
+ for(var j = 0; j < subjectData.length; j++) {
+ var subjectList = subjectData[j].subjects;
+ subjectCount += subjectList.length;
+
+ for(var k = 0; k < subjectList.length; k++) {
+ var licenseCompnaySubjectItem = new LicenseCompanySubjectData(
+ this.licenseCompanies[i],
+ subjectList[k],
+ companyData.subjectData[j].timeLimit,
+ companyData.subjectData[j].maxScore,
+ companyData.subjectData[j].gradeList
+ );
+
+ this.licenseSubjects.push(licenseCompnaySubjectItem);
+
+ }
+ }
+
+ if(subjectCount > this.maxSubjectCount)
+ this.maxSubjectCount = subjectCount;
+ }
+
+ // console.log(this.licenseCompanies);
+ // console.log(this.licenseSubjects);
+ // console.log(this.maxSubjectCount);
+}
+
+
+LicenseDataManager.prototype.getCompanyCount = function() {
+ return this.licenseCompanies.length;
+}
+
+LicenseDataManager.prototype.getCompanyList = function() {
+ return null;
+}
+
+LicenseDataManager.prototype.getCompanyName = function(index) {
+ return this.licenseCompanies[index];
+}
+
+LicenseDataManager.prototype.hasCompany = function(companyName) {
+ for(var i = 0; i < this.licenseCompanies.length; i++) {
+ if(this.licenseCompanies[i].companyName == companyName)
+ return true;
+ }
+
+ return false;
+}
+
+LicenseDataManager.prototype.getSubjectCount = function() {
+ return this.licenseSubjects.length;
+}
+
+LicenseDataManager.prototype.getSubjectDataByIndex = function(index) {
+ return this.licenseSubjects[index];
+}
+
+LicenseDataManager.prototype.getSubjectDataByName = function(companySubjectName) {
+ for(var i = 0; i < this.licenseSubjects.length; i++) {
+ var subjectData = this.licenseSubjects[i];
+ if(subjectData.isNameOf(companyName))
+ return subjectData;
+ }
+
+ return null;
+}
+
+LicenseDataManager.prototype.getGrade = function(companySubjectName, score) {
+ var companySubjectData = this.getCompanySubjectData(companySubjectName);
+ console.log(companySubjectData);
+ // if(companySubjectData != null) {
+ // if(score > companySubjectData.gradeList[0].)
+ // }
+}
+
diff --git a/src/web/client/license_timer.html b/src/web/client/license_timer.html
index 22ffa10..0d4a32e 100644
--- a/src/web/client/license_timer.html
+++ b/src/web/client/license_timer.html
@@ -57,6 +57,7 @@
+