Add: company button, subject button
This commit is contained in:
@@ -49,7 +49,7 @@ function InputScore(chart) {
|
|||||||
this.passwordText = this.makeInputText(game.world.centerX + 260, this.inputScorePosY + 10, passwordTextSetting);
|
this.passwordText = this.makeInputText(game.world.centerX + 260, this.inputScorePosY + 10, passwordTextSetting);
|
||||||
|
|
||||||
|
|
||||||
// set timer buttons
|
// save button
|
||||||
setting.x = GAME_SCREEN_SIZE.x - 60;
|
setting.x = GAME_SCREEN_SIZE.x - 60;
|
||||||
setting.y = this.inputScorePosY + 35;
|
setting.y = this.inputScorePosY + 35;
|
||||||
setting.width = 100;
|
setting.width = 100;
|
||||||
@@ -60,8 +60,10 @@ function InputScore(chart) {
|
|||||||
(function() { this.onClickSendToServerButton(); }).bind(this)
|
(function() { this.onClickSendToServerButton(); }).bind(this)
|
||||||
);
|
);
|
||||||
|
|
||||||
this.makeLicenseCompanyPanel();
|
this.loadLicenseCompanySubjectData();
|
||||||
|
this.makeLicenseCompanySubjectPanel();
|
||||||
this.setVisibleLicenseCompanyPanel(false);
|
this.setVisibleLicenseCompanyPanel(false);
|
||||||
|
this.setVisibleLicenseSubjectPanel(false, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
InputScore.prototype.initVariables = function() {
|
InputScore.prototype.initVariables = function() {
|
||||||
@@ -106,31 +108,105 @@ InputScore.prototype.makeInputText = function(x, y, setting) {
|
|||||||
InputScore.prototype.onClickSubjectButton = function() {
|
InputScore.prototype.onClickSubjectButton = function() {
|
||||||
if(!this.licenseCompanyPanel.visible)
|
if(!this.licenseCompanyPanel.visible)
|
||||||
this.setVisibleLicenseCompanyPanel(true);
|
this.setVisibleLicenseCompanyPanel(true);
|
||||||
else
|
else {
|
||||||
this.setVisibleLicenseCompanyPanel(false);
|
this.setVisibleLicenseCompanyPanel(false);
|
||||||
|
this.setVisibleLicenseSubjectPanel(false, "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
InputScore.prototype.makeLicenseCompanyPanel = function() {
|
|
||||||
this.licenseCompanyPanel = this.makePanelSprite(0, 300, 400, 400, 0xffffff);
|
|
||||||
|
InputScore.prototype.loadLicenseCompanySubjectData = function() {
|
||||||
|
this.licenseCompanies = [];
|
||||||
|
this.licenseCompanySubjects = [];
|
||||||
|
|
||||||
|
// 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.licenseCompanySubjects.push(licenseCompnaySubjectItem);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(subjectCount > this.maxSubjectCount)
|
||||||
|
this.maxSubjectCount = subjectCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
// console.log(this.licenseCompanies);
|
||||||
|
// console.log(this.licenseCompanySubjects);
|
||||||
|
// console.log(this.maxSubjectCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
InputScore.prototype.makeLicenseCompanySubjectPanel = function() {
|
||||||
|
var buttonStackCount = Math.floor(licenseCompanySubjectList.length / 7) + 1;
|
||||||
|
var gapWidth = 10;
|
||||||
|
var licenseCompanyPanelWidth = gapWidth + (InputScore.LICENSE_COMPANY_BUTTON_WIDTH + gapWidth) * buttonStackCount;
|
||||||
|
|
||||||
|
// license company panel
|
||||||
|
this.licenseCompanyPanel = this.makePanelSprite(0, 300, licenseCompanyPanelWidth, 398, 0x000000);
|
||||||
|
|
||||||
|
// license subject panel
|
||||||
|
this.licenseSubjectPanel = this.makePanelSprite(
|
||||||
|
licenseCompanyPanelWidth, 300,
|
||||||
|
game.world.width - licenseCompanyPanelWidth, 398, 0xffffff);
|
||||||
|
|
||||||
|
|
||||||
|
var roundRectButtonOffsetX = 50;
|
||||||
|
this.licenseCompanyButtonStartPosX =
|
||||||
|
InputScore.LICENSE_COMPANY_BUTTON_WIDTH / 2
|
||||||
|
+ gapWidth + roundRectButtonOffsetX;
|
||||||
|
this.licenseSubjectButtonStartPosX =
|
||||||
|
licenseCompanyPanelWidth + InputScore.LICENSE_SUBJECT_BUTTON_WIDTH / 2
|
||||||
|
+ gapWidth;
|
||||||
|
|
||||||
var setting = new RoundRectButtonSetting(0, 0, 0, 0);
|
var setting = new RoundRectButtonSetting(0, 0, 0, 0);
|
||||||
setting.strokeWidthPx = 5;
|
setting.x = -100;
|
||||||
setting.x = 90;
|
setting.y = -100;
|
||||||
setting.width = 160;
|
|
||||||
setting.height = 50;
|
setting.height = 50;
|
||||||
|
setting.strokeWidthPx = 5;
|
||||||
setting.roundAmount = 10;
|
setting.roundAmount = 10;
|
||||||
setting.fontStyle.fontSize = 24;
|
setting.fontStyle.fontSize = 24;
|
||||||
setting.fontStyle.fontWeight = "bold";
|
setting.fontStyle.fontWeight = "bold";
|
||||||
|
|
||||||
|
// license company buttons
|
||||||
for(var i = 0; i < licenseCompanySubjectList.length; i++) {
|
for(var i = 0; i < licenseCompanySubjectList.length; i++) {
|
||||||
setting.y = this.inputScorePosY - 40 - 60 * i;
|
setting.width = InputScore.LICENSE_COMPANY_BUTTON_WIDTH;
|
||||||
var licenseCompanyButton = new RoundRectButton(
|
|
||||||
setting,
|
|
||||||
null, licenseCompanySubjectList[i].companyName,
|
|
||||||
(function() { console.log(licenseCompanySubjectList[i].companyName); }).bind(this)
|
|
||||||
);
|
|
||||||
|
|
||||||
this.licenseCompanyButtonList[i] = licenseCompanyButton;
|
var self = this;
|
||||||
|
var companyName = licenseCompanySubjectList[i].companyName;
|
||||||
|
this.licenseCompanyButtonList[i] = new RoundRectButton(
|
||||||
|
setting, null, companyName,
|
||||||
|
(function() { self.setVisibleLicenseSubjectPanel(true, this.text.text); })
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// license subject buttons
|
||||||
|
for(var i = 0; i < this.licenseCompanySubjects.length; i++) {
|
||||||
|
setting.width = InputScore.LICENSE_SUBJECT_BUTTON_WIDTH;
|
||||||
|
|
||||||
|
var companySubjectData = this.licenseCompanySubjects[i];
|
||||||
|
var companySubjectName = companySubjectData.companyName + " " + companySubjectData.subjectName;
|
||||||
|
this.licenseSubjectButtonList[i] = new RoundRectButton(setting, null, companySubjectName, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,16 +214,70 @@ InputScore.prototype.setVisibleLicenseCompanyPanel = function(flag) {
|
|||||||
this.licenseCompanyPanel.visible = flag;
|
this.licenseCompanyPanel.visible = flag;
|
||||||
|
|
||||||
if(flag) {
|
if(flag) {
|
||||||
for(var i = 0; i < licenseCompanySubjectList.length; i++) {
|
for(var i = 0; i < this.licenseCompanyButtonList.length; i++) {
|
||||||
this.licenseCompanyButtonList[i].move(90, this.inputScorePosY - 40 - 60 * i);
|
this.licenseCompanyButtonList[i].move(
|
||||||
|
this.licenseCompanyButtonStartPosX,
|
||||||
|
this.inputScorePosY - 40 - InputScore.LICENSE_BUTTON_GAP_HEIGHT * i
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for(var i = 0; i < licenseCompanySubjectList.length; i++) {
|
for(var i = 0; i < this.licenseCompanyButtonList.length; i++) {
|
||||||
this.licenseCompanyButtonList[i].move(-100, 900);
|
this.licenseCompanyButtonList[i].move(-100, 900);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
InputScore.prototype.getLicenseSubjectButtonPosX = function(index) {
|
||||||
|
var rowCount = Math.floor(index / InputScore.LICENSE_SUBJECT_BUTTON_MAX_COUNT);
|
||||||
|
var gapWidth = 10;
|
||||||
|
return this.licenseSubjectButtonStartPosX
|
||||||
|
+ (InputScore.LICENSE_SUBJECT_BUTTON_WIDTH + gapWidth) * rowCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
InputScore.prototype.getLicenseSubjectButtonPosY = function(index) {
|
||||||
|
var colIndex = index % InputScore.LICENSE_SUBJECT_BUTTON_MAX_COUNT;
|
||||||
|
return this.inputScorePosY - 40 - InputScore.LICENSE_BUTTON_GAP_HEIGHT * colIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
InputScore.prototype.setVisibleLicenseSubjectPanel = function(flag, companyName) {
|
||||||
|
this.licenseSubjectPanel.visible = flag;
|
||||||
|
|
||||||
|
for(var i = 0; i < this.licenseSubjectButtonList.length; i++) {
|
||||||
|
this.licenseSubjectButtonList[i].move(-100, 900);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!flag)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var buttonIndex = 0;
|
||||||
|
for(var i = 0; i < this.licenseCompanySubjects.length; i++) {
|
||||||
|
var subjectData = this.licenseCompanySubjects[i];
|
||||||
|
|
||||||
|
if(subjectData.companyName == companyName) {
|
||||||
|
var button = this.licenseSubjectButtonList[buttonIndex];
|
||||||
|
|
||||||
|
var buttonName = companyName + " " + subjectData.subjectName;
|
||||||
|
button.text.text = buttonName;
|
||||||
|
button.move(
|
||||||
|
this.getLicenseSubjectButtonPosX(buttonIndex),
|
||||||
|
this.getLicenseSubjectButtonPosY(buttonIndex)
|
||||||
|
);
|
||||||
|
var self = this;
|
||||||
|
button.clickEvent = (function() {
|
||||||
|
self.onClickCompanySubjectButton(this.text.text);
|
||||||
|
});
|
||||||
|
|
||||||
|
buttonIndex++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
InputScore.prototype.onClickCompanySubjectButton = function(companySubjectName) {
|
||||||
|
console.log(companySubjectName);
|
||||||
|
// this.subjectText.setText(companySubjectName);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
InputScore.prototype.makePanelSprite = function(x, y, width, height, color) {
|
InputScore.prototype.makePanelSprite = function(x, y, width, height, color) {
|
||||||
var btnTexture = new Phaser.Graphics()
|
var btnTexture = new Phaser.Graphics()
|
||||||
.beginFill(color, 0.5)
|
.beginFill(color, 0.5)
|
||||||
@@ -166,4 +296,19 @@ InputScore.prototype.onClickSendToServerButton = function() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
InputScore.INPUT_SCORE_GROUP_OFFSET_Y = 70;
|
InputScore.INPUT_SCORE_GROUP_OFFSET_Y = 70;
|
||||||
|
|
||||||
|
InputScore.LICENSE_COMPANY_BUTTON_WIDTH = 160;
|
||||||
|
InputScore.LICENSE_SUBJECT_BUTTON_WIDTH = 260;
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
@@ -3,9 +3,9 @@ var licenseCompanySubjectList = [
|
|||||||
companyName: "ITQ",
|
companyName: "ITQ",
|
||||||
subjectData: [
|
subjectData: [
|
||||||
{
|
{
|
||||||
time: 40,
|
timeLimit: 60,
|
||||||
maxScore: 500,
|
maxScore: 500,
|
||||||
grade: {
|
gradeList: {
|
||||||
A: 400,
|
A: 400,
|
||||||
B: 300,
|
B: 300,
|
||||||
C: 200
|
C: 200
|
||||||
@@ -28,9 +28,9 @@ var licenseCompanySubjectList = [
|
|||||||
companyName: "DIAT",
|
companyName: "DIAT",
|
||||||
subjectData: [
|
subjectData: [
|
||||||
{
|
{
|
||||||
time: 40,
|
timeLimit: 40,
|
||||||
maxScore: 200,
|
maxScore: 200,
|
||||||
grade: {
|
gradeList: {
|
||||||
고급: 160,
|
고급: 160,
|
||||||
중급: 120,
|
중급: 120,
|
||||||
초급: 80
|
초급: 80
|
||||||
@@ -44,9 +44,9 @@ var licenseCompanySubjectList = [
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
time: 40,
|
timeLimit: 40,
|
||||||
maxScore: 100,
|
maxScore: 100,
|
||||||
grade: {
|
gradeList: {
|
||||||
고급: 80,
|
고급: 80,
|
||||||
중급: 60,
|
중급: 60,
|
||||||
초급: 40
|
초급: 40
|
||||||
|
|||||||
Reference in New Issue
Block a user