Files
chocomae/src/game/license_timer/license_data_manager.js
T
2018-12-12 00:57:35 +09:00

109 lines
2.8 KiB
JavaScript

function LicenseCompanySubjectData(companyName, subjectName, timeLimit, maxScore, gradeList) {
this.companyName = companyName;
this.subjectName = subjectName;
this.subjectFullname = companyName + " " + subjectName;
this.timeLimit = timeLimit;
this.maxScore = maxScore;
this.gradeList = gradeList;
}
LicenseCompanySubjectData.prototype.getGrade = function(score) {
var count = this.gradeList.length;
for(var i = 0; i < count; i++) {
if(score >= this.gradeList[i].score)
return this.gradeList[i].grade;
}
return "-";
}
function LicenseDataManager() {
this.companies = [];
this.subjects = [];
// console.log(licenseDataList);
this.maxSubjectCount = 0;
for(var i = 0; i < licenseDataList.length; i++) {
this.companies[i] = licenseDataList[i].companyName;
var subjectCount = 0;
var companyData = licenseDataList[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.companies[i],
subjectList[k],
companyData.subjectData[j].timeLimit,
companyData.subjectData[j].maxScore,
companyData.subjectData[j].gradeList
);
this.subjects.push(licenseCompnaySubjectItem);
}
}
if(subjectCount > this.maxSubjectCount)
this.maxSubjectCount = subjectCount;
}
// console.log(this.companies);
// console.log(this.subjects);
// console.log(this.maxSubjectCount);
}
LicenseDataManager.prototype.getCompanyCount = function() {
return this.companies.length;
}
LicenseDataManager.prototype.getCompanyList = function() {
return null;
}
LicenseDataManager.prototype.getCompanyName = function(index) {
return this.companies[index];
}
LicenseDataManager.prototype.hasCompany = function(companyName) {
for(var i = 0; i < this.companies.length; i++) {
if(this.companies[i].companyName == companyName)
return true;
}
return false;
}
LicenseDataManager.prototype.getSubjectCount = function() {
return this.subjects.length;
}
LicenseDataManager.prototype.getSubjectDataByIndex = function(index) {
return this.subjects[index];
}
LicenseDataManager.prototype.getSubjectDataByName = function(subjectFullname) {
for(var i = 0; i < this.subjects.length; i++) {
var subjectData = this.subjects[i];
if(subjectData.subjectFullname == subjectFullname)
return subjectData;
}
return null;
}
LicenseDataManager.prototype.getGrade = function(subjectData) {
var companySubjectData = this.getCompanySubjectData(subjectName);
console.log(companySubjectData);
// if(companySubjectData != null) {
// if(score > companySubjectData.gradeList[0].)
// }
}