56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
class AppInfo {
|
|
|
|
constructor(name, nameKorean, howToPlay) {
|
|
this.name = name;
|
|
|
|
this.nameKorean = nameKorean;
|
|
this.isActivated = false;
|
|
this.howToPlay = howToPlay;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
class AppInfoManager {
|
|
|
|
constructor() {
|
|
this.appInfoMap = new Map();
|
|
|
|
this.registerAppInfoList();
|
|
}
|
|
|
|
registerAppInfoList() {
|
|
this.registerAppInfo(new AppInfo("test", "테스트", ""));
|
|
this.registerAppInfo(new AppInfo("login", "로그인", ""));
|
|
this.registerAppInfo(new AppInfo("menu", "메뉴", ""));
|
|
this.registerAppInfo(new AppInfo("space_invaders", "외계인 침공",
|
|
"외계인이 나타났다!\n마우스 왼쪽 버튼으로\n외계인을 클릭해서 물리쳐 주세요."
|
|
));
|
|
this.registerAppInfo(new AppInfo("card_matching", "카드 짝 맞추기",
|
|
"외계인이 나타났다 사라집니다.\n\n마우스 왼쪽 버튼으로 외계인을 클릭해서\n\n물리쳐 주세요."
|
|
));
|
|
}
|
|
|
|
setHowToPlay(name, text) {
|
|
this.appInfoMap[name].howToPlay = text;
|
|
}
|
|
|
|
registerAppInfo(appInfo) {
|
|
return this.appInfoMap[appInfo.name] = appInfo;
|
|
}
|
|
|
|
getAppNameKorean(name) {
|
|
if(name === null)
|
|
return "";
|
|
|
|
return this.appInfoMap[name].nameKorean;
|
|
}
|
|
|
|
getHowToPlayText(name) {
|
|
if(name === null)
|
|
return "";
|
|
|
|
return this.appInfoMap[name].howToPlay;
|
|
}
|
|
|
|
} |