724 lines
18 KiB
JavaScript
724 lines
18 KiB
JavaScript
|
|
var QuestScreenMode = {
|
|
AUTOEVENTCHECK: 0,
|
|
SELECT: 1,
|
|
EVENT: 2,
|
|
QUESTION: 3
|
|
};
|
|
|
|
var QuestScreen = defineObject(BaseScreen,
|
|
{
|
|
_eventChecker: null,
|
|
_questListWindow: null,
|
|
_questDetailWindow: null,
|
|
_questionWindow: null,
|
|
_questEntryArray: null,
|
|
_capsuleEvent: null,
|
|
|
|
setScreenData: function(screenParam) {
|
|
this._prepareScreenMemberData(screenParam);
|
|
this._completeScreenMemberData(screenParam);
|
|
},
|
|
|
|
moveScreenCycle: function() {
|
|
var mode = this.getCycleMode();
|
|
var result = MoveResult.CONTINUE;
|
|
|
|
if (mode === QuestScreenMode.AUTOEVENTCHECK) {
|
|
result = this._moveAutoEventCheck();
|
|
}
|
|
else if (mode === QuestScreenMode.SELECT) {
|
|
result = this._moveSelect();
|
|
}
|
|
else if (mode === QuestScreenMode.EVENT) {
|
|
result = this._moveEvent();
|
|
}
|
|
else if (mode === QuestScreenMode.QUESTION) {
|
|
result = this._moveQuestion();
|
|
}
|
|
|
|
return result;
|
|
},
|
|
|
|
drawScreenCycle: function() {
|
|
var width = this._questListWindow.getWindowWidth() + this._questDetailWindow.getWindowWidth();
|
|
var x = LayoutControl.getCenterX(-1, width);
|
|
var y = LayoutControl.getCenterY(-1, this._questListWindow.getWindowHeight());
|
|
|
|
this._questListWindow.drawWindow(x, y);
|
|
this._questDetailWindow.drawWindow(x + this._questListWindow.getWindowWidth(), y);
|
|
|
|
if (this.getCycleMode() === QuestScreenMode.QUESTION) {
|
|
this._drawQuestionWindow();
|
|
}
|
|
},
|
|
|
|
drawScreenBottomText: function(textui) {
|
|
var text;
|
|
var entry = this.getCurrentQuestEntry();
|
|
|
|
if (entry.isVisible) {
|
|
text = entry.data.getDescription();
|
|
}
|
|
else {
|
|
text = '';
|
|
}
|
|
|
|
TextRenderer.drawScreenBottomText(text, textui);
|
|
},
|
|
|
|
getScreenInteropData: function() {
|
|
return root.queryScreen('Quest');
|
|
},
|
|
|
|
getCurrentQuestEntry: function() {
|
|
return this._questEntryArray[this._questListWindow.getQuestListIndex()];
|
|
},
|
|
|
|
_prepareScreenMemberData: function(screenParam) {
|
|
this._eventChecker = createObject(RestAutoEventChecker);
|
|
this._questListWindow = createWindowObject(QuestListWindow, this);
|
|
this._questDetailWindow = createWindowObject(QuestDetailWindow, this);
|
|
this._questionWindow = createWindowObject(QuestionWindow, this);
|
|
this._capsuleEvent = createObject(CapsuleEvent);
|
|
},
|
|
|
|
_completeScreenMemberData: function(screenParam) {
|
|
this._questEntryArray = this._getQuestArray();
|
|
|
|
this._questListWindow.setWindowData();
|
|
this._questListWindow.setQuestEntryArray(this._questEntryArray);
|
|
|
|
this._questionWindow.setQuestionMessage(StringTable.Quest_Select);
|
|
|
|
this._questDetailWindow.setQuestData(this._questEntryArray[0].data);
|
|
this._questDetailWindow.setSize(Math.floor(this._questListWindow.getWindowHeight() * 1.2), this._questListWindow.getWindowHeight());
|
|
|
|
this._changeEventMode();
|
|
},
|
|
|
|
_getQuestArray: function() {
|
|
var i, quest, entry;
|
|
var arr = [];
|
|
var list = root.getBaseData().getRestQuestList();
|
|
var count = list.getCount();
|
|
|
|
for (i = 0; i < count; i++) {
|
|
quest = list.getData(i);
|
|
if (!quest.isQuestDisplayable()) {
|
|
continue;
|
|
}
|
|
|
|
entry = StructureBuilder.buildListEntry();
|
|
|
|
entry.isAvailable = quest.isQuestAvailable();
|
|
entry.isVisible = entry.isAvailable || !quest.isPrivateQuest();
|
|
if (entry.isVisible) {
|
|
entry.name = quest.getName();
|
|
}
|
|
else {
|
|
entry.name = StringTable.HideData_Question;
|
|
}
|
|
entry.data = quest;
|
|
|
|
arr.push(entry);
|
|
}
|
|
|
|
return arr;
|
|
},
|
|
|
|
_moveAutoEventCheck: function() {
|
|
if (this._eventChecker.moveEventChecker() !== MoveResult.CONTINUE) {
|
|
this.changeCycleMode(QuestScreenMode.SELECT);
|
|
}
|
|
|
|
return MoveResult.CONTINUE;
|
|
},
|
|
|
|
_moveSelect: function() {
|
|
var input = this._questListWindow.moveWindow();
|
|
|
|
if (input === ScrollbarInput.SELECT) {
|
|
this._startQuestEvent();
|
|
}
|
|
else if (input === ScrollbarInput.CANCEL) {
|
|
return MoveResult.END;
|
|
}
|
|
else {
|
|
if (this._questListWindow.isIndexChanged()) {
|
|
this._questDetailWindow.setQuestData(this._questEntryArray[this._questListWindow.getQuestListIndex()].data);
|
|
}
|
|
}
|
|
|
|
return MoveResult.CONTINUE;
|
|
},
|
|
|
|
_moveEvent: function() {
|
|
var result = MoveResult.CONTINUE;
|
|
|
|
if (this._capsuleEvent.moveCapsuleEvent() !== MoveResult.CONTINUE) {
|
|
this._startQuestion();
|
|
return MoveResult.CONTINUE;
|
|
}
|
|
|
|
return result;
|
|
},
|
|
|
|
_moveQuestion: function() {
|
|
if (this._questionWindow.moveWindow() !== MoveResult.CONTINUE) {
|
|
if (this._questionWindow.getQuestionAnswer() === QuestionAnswer.YES) {
|
|
this._startQuestMap();
|
|
return MoveResult.CONTIUNE;
|
|
}
|
|
else {
|
|
this._questListWindow.enableSelectCursor(true);
|
|
this._changeSelectMode();
|
|
}
|
|
}
|
|
|
|
return MoveResult.CONTINUE;
|
|
},
|
|
|
|
_drawQuestionWindow: function() {
|
|
var width = this._questionWindow.getWindowWidth();
|
|
var height = this._questionWindow.getWindowHeight();
|
|
var x = LayoutControl.getCenterX(-1, width);
|
|
var y = LayoutControl.getCenterY(-1, height);
|
|
|
|
this._questionWindow.drawWindow(x, y);
|
|
},
|
|
|
|
_startQuestEvent: function() {
|
|
var event = this._getPlaceEvent();
|
|
var isExecuteMark = false;
|
|
|
|
this._capsuleEvent.enterCapsuleEvent(event, isExecuteMark);
|
|
this._questListWindow.enableSelectCursor(false);
|
|
this.changeCycleMode(QuestScreenMode.EVENT);
|
|
},
|
|
|
|
_startQuestion: function() {
|
|
if (this.getCurrentQuestEntry().isAvailable) {
|
|
this.changeCycleMode(QuestScreenMode.QUESTION);
|
|
this._questionWindow.setQuestionActive(true);
|
|
}
|
|
else {
|
|
this._questListWindow.enableSelectCursor(true);
|
|
this._changeSelectMode();
|
|
}
|
|
},
|
|
|
|
_startQuestMap: function() {
|
|
var quest = this.getCurrentQuestEntry().data;
|
|
var map = quest.getFreeMap();
|
|
|
|
root.getSceneController().startNewMap(map.getId());
|
|
|
|
root.changeScene(SceneType.BATTLESETUP);
|
|
},
|
|
|
|
_getPlaceEvent: function() {
|
|
var event;
|
|
var entry = this.getCurrentQuestEntry();
|
|
var quest = entry.data;
|
|
|
|
if (entry.isAvailable) {
|
|
event = quest.getEnabledEvent();
|
|
}
|
|
else {
|
|
event = quest.getDisabledEvent();
|
|
}
|
|
|
|
return event;
|
|
},
|
|
|
|
_changeSelectMode: function() {
|
|
this.changeCycleMode(QuestScreenMode.SELECT);
|
|
},
|
|
|
|
_changeEventMode: function() {
|
|
var result;
|
|
|
|
result = this._eventChecker.enterEventChecker(root.getCurrentSession().getAutoEventList(), RestAutoType.QUEST);
|
|
if (result === EnterResult.NOTENTER) {
|
|
this.changeCycleMode(QuestScreenMode.SELECT);
|
|
}
|
|
else {
|
|
this.changeCycleMode(QuestScreenMode.AUTOEVENTCHECK);
|
|
}
|
|
}
|
|
}
|
|
);
|
|
|
|
var QuestListWindow = defineObject(BaseWindow,
|
|
{
|
|
_scrollbar: null,
|
|
|
|
setWindowData: function() {
|
|
var count = LayoutControl.getObjectVisibleCount(DefineControl.getTextPartsHeight(), 12);
|
|
|
|
this._scrollbar = createScrollbarObject(QuestListScrollbar, this);
|
|
this._scrollbar.setScrollFormation(1, count);
|
|
this._scrollbar.setActive(true);
|
|
},
|
|
|
|
setQuestEntryArray: function(objectArray) {
|
|
this._scrollbar.setObjectArray(objectArray);
|
|
},
|
|
|
|
moveWindowContent: function() {
|
|
return this._scrollbar.moveInput();
|
|
},
|
|
|
|
drawWindowContent: function(x, y) {
|
|
this._scrollbar.drawScrollbar(x, y);
|
|
},
|
|
|
|
getWindowWidth: function() {
|
|
return this._scrollbar.getScrollbarWidth() + (this.getWindowXPadding() * 2);
|
|
},
|
|
|
|
getWindowHeight: function() {
|
|
return this._scrollbar.getScrollbarHeight() + (this.getWindowYPadding() * 2);
|
|
},
|
|
|
|
getQuestListIndex: function() {
|
|
return this._scrollbar.getIndex();
|
|
},
|
|
|
|
isIndexChanged: function() {
|
|
return this._scrollbar.checkAndUpdateIndex();
|
|
},
|
|
|
|
enableSelectCursor: function(isActive) {
|
|
this._scrollbar.enableSelectCursor(isActive);
|
|
}
|
|
}
|
|
);
|
|
|
|
var QuestListScrollbar = defineObject(BaseScrollbar,
|
|
{
|
|
drawScrollContent: function(x, y, object, isSelect, index) {
|
|
var dx = 0;
|
|
var length = this._getTextLength();
|
|
var textui = this.getParentTextUI();
|
|
var font = textui.getFont();
|
|
var color = object.isAvailable ? textui.getColor() : ColorValue.DISABLE;
|
|
var handle = object.data.getIconResourceHandle();
|
|
|
|
if (object.isVisible) {
|
|
if (!handle.isNullHandle()) {
|
|
dx = GraphicsFormat.ICON_WIDTH + 6;
|
|
GraphicsRenderer.drawImage(x, y, handle, GraphicsType.ICON);
|
|
}
|
|
}
|
|
|
|
TextRenderer.drawKeywordText(x + dx, y, object.name, length, color, font);
|
|
},
|
|
|
|
playSelectSound: function() {
|
|
var object = this.getObject();
|
|
var isSelect = true;
|
|
|
|
if (!object.isVisible) {
|
|
isSelect = false;
|
|
}
|
|
|
|
if (isSelect) {
|
|
MediaControl.soundDirect('commandselect');
|
|
}
|
|
else {
|
|
MediaControl.soundDirect('operationblock');
|
|
}
|
|
},
|
|
|
|
getObjectWidth: function() {
|
|
// Increase width to allow longer quest names to render without truncation.
|
|
// Previously this relied on DefineControl.getTextPartsWidth() (135px) which is too small for translated text.
|
|
// Bump the effective width to ~1.8x of the default text parts width plus the icon width.
|
|
return Math.floor(DefineControl.getTextPartsWidth() * 1.8) + GraphicsFormat.ICON_WIDTH;
|
|
},
|
|
|
|
getObjectHeight: function() {
|
|
return DefineControl.getTextPartsHeight();
|
|
},
|
|
|
|
_getTextLength: function() {
|
|
return this.getObjectWidth();
|
|
}
|
|
}
|
|
);
|
|
|
|
var QuestDetailWindow = defineObject(BaseWindow,
|
|
{
|
|
_picCache: null,
|
|
_quest: null,
|
|
_groupArray: null,
|
|
_width: null,
|
|
_height: null,
|
|
|
|
setSize: function(width, height) {
|
|
this._width = width;
|
|
this._height = height;
|
|
},
|
|
|
|
setQuestData: function(quest) {
|
|
var i, count;
|
|
|
|
this._quest = quest;
|
|
|
|
this._picCache = null;
|
|
|
|
this._groupArray = [];
|
|
this._configureSentence(this._groupArray);
|
|
|
|
count = this._groupArray.length;
|
|
for (i = 0; i < count; i++) {
|
|
this._groupArray[i].setParentWindow(this);
|
|
this._groupArray[i].setCalculatorValue(this._quest);
|
|
}
|
|
},
|
|
|
|
moveWindowContent: function() {
|
|
var i, count;
|
|
|
|
count = this._groupArray.length;
|
|
for (i = 0; i < count; i++) {
|
|
this._groupArray[i].moveQuestSentence();
|
|
}
|
|
|
|
return MoveResult.CONTINUE;
|
|
},
|
|
|
|
drawWindowContent: function(x, y) {
|
|
var isPrivate = false;
|
|
|
|
if (this._quest === null) {
|
|
isPrivate = true;
|
|
}
|
|
else if (!this._quest.isQuestAvailable()) {
|
|
isPrivate = this._quest.isPrivateQuest();
|
|
}
|
|
|
|
if (isPrivate) {
|
|
this._drawEmptyMap(x, y);
|
|
this._drawEmptySentence(x, y);
|
|
}
|
|
else {
|
|
this._drawThumbnailMap(x, y);
|
|
this._drawSentenceZone(x, y);
|
|
}
|
|
},
|
|
|
|
getQuestSentenceSpaceY: function() {
|
|
return 38;
|
|
},
|
|
|
|
getTitlePartsCount: function() {
|
|
return 6;
|
|
},
|
|
|
|
_drawThumbnailMap: function(x, y) {
|
|
var mapData = this._quest.getFreeMap();
|
|
var cacheWidth = mapData.getMapWidth() * GraphicsFormat.MAPCHIP_WIDTH;
|
|
var cacheHeight = mapData.getMapHeight() * GraphicsFormat.MAPCHIP_HEIGHT;
|
|
var width = this.getWindowWidth() - (DefineControl.getWindowXPadding() * 2);
|
|
var height = this.getWindowHeight() - (DefineControl.getWindowYPadding() * 2);
|
|
var graphicsManager = root.getGraphicsManager();
|
|
var alpha = this._getMapAlpha();
|
|
|
|
if (this._picCache !== null) {
|
|
if (this._picCache.isCacheAvailable()) {
|
|
this._picCache.setAlpha(alpha);
|
|
this._picCache.drawStretchParts(x, y, width, height, 0, 0, cacheWidth, cacheHeight);
|
|
return;
|
|
}
|
|
}
|
|
else {
|
|
this._picCache = graphicsManager.createCacheGraphics(cacheWidth, cacheHeight);
|
|
}
|
|
|
|
graphicsManager.setRenderCache(this._picCache);
|
|
root.drawMapAll(mapData);
|
|
graphicsManager.resetRenderCache();
|
|
|
|
this._picCache.setAlpha(alpha);
|
|
this._picCache.drawStretchParts(x, y, width, height, 0, 0, cacheWidth, cacheHeight);
|
|
},
|
|
|
|
_drawSentenceZone: function(x, y) {
|
|
var i;
|
|
var count = this._groupArray.length;
|
|
|
|
x = (x + this._width) - ((this.getTitlePartsCount() + 2) * TitleRenderer.getTitlePartsWidth());
|
|
y += 5;
|
|
for (i = 0; i < count; i++) {
|
|
this._groupArray[i].drawQuestSentence(x, y);
|
|
y += this._groupArray[i].getQuestSentenceCount() * this.getQuestSentenceSpaceY();
|
|
}
|
|
},
|
|
|
|
_drawEmptyMap: function(x, y) {
|
|
var textui = root.queryTextUI('default_window');
|
|
var color = ColorValue.KEYWORD;
|
|
var font = textui.getFont();
|
|
var width = this.getWindowWidth() - (DefineControl.getWindowXPadding() * 2);
|
|
var height = this.getWindowHeight() - (DefineControl.getWindowYPadding() * 2);
|
|
var range = createRangeObject(x, y, width, height);
|
|
|
|
TextRenderer.drawRangeText(range, TextFormat.CENTER, StringTable.HideData_Unknown, -1, color, font);
|
|
},
|
|
|
|
_drawEmptySentence: function(x, y) {
|
|
},
|
|
|
|
getWindowWidth: function() {
|
|
return this._width;
|
|
},
|
|
|
|
getWindowHeight: function() {
|
|
return this._height;
|
|
},
|
|
|
|
getWindowTextUI: function() {
|
|
return root.queryTextUI('face_window');
|
|
},
|
|
|
|
_getMapAlpha: function() {
|
|
return 200;
|
|
},
|
|
|
|
_configureSentence: function(groupArray) {
|
|
if (root.getRestPreference().isEnemyTotalEnabled()) {
|
|
groupArray.appendObject(QuestSentence.EnemyTotal);
|
|
}
|
|
if (root.getRestPreference().isEnemyAverageLevelEnabled()) {
|
|
groupArray.appendObject(QuestSentence.EnemyAverageLevel);
|
|
}
|
|
groupArray.appendObject(QuestSentence.Reward);
|
|
}
|
|
}
|
|
);
|
|
|
|
var BaseQuestSentence = defineObject(BaseObject,
|
|
{
|
|
_detailWindow: null,
|
|
|
|
setParentWindow: function(detailWindow) {
|
|
this._detailWindow = detailWindow;
|
|
},
|
|
|
|
setCalculatorValue: function(quest) {
|
|
},
|
|
|
|
moveQuestSentence: function() {
|
|
return MoveResult.CONTINUE;
|
|
},
|
|
|
|
drawQuestSentence: function(x, y) {
|
|
},
|
|
|
|
getQuestSentenceCount: function() {
|
|
return 1;
|
|
},
|
|
|
|
_drawNumberAndText: function(x, y, text, number, colorIndex) {
|
|
var textui = this._getSentenceTextUI();
|
|
var color = textui.getColor();
|
|
var font = textui.getFont();
|
|
|
|
y += 19;
|
|
TextRenderer.drawKeywordText(x + 8, y + 0, text, -1, color, font);
|
|
NumberRenderer.drawNumberColor(x + 186, y + 0, number, colorIndex, 255);
|
|
},
|
|
|
|
_drawTitle: function(x, y) {
|
|
var textui = this._getSentenceTextUI();
|
|
var width = TitleRenderer.getTitlePartsWidth();
|
|
var height = TitleRenderer.getTitlePartsHeight();
|
|
var pic = textui.getUIImage();
|
|
|
|
if (pic !== null) {
|
|
this._drawTitleInternal(pic, x, y, width, height, this._detailWindow.getTitlePartsCount());
|
|
}
|
|
},
|
|
|
|
_drawTitleInternal: function(pic, x, y, width, height, count) {
|
|
var i;
|
|
|
|
if (pic === null) {
|
|
return;
|
|
}
|
|
|
|
// 左端の描画
|
|
// pic.drawParts(x, y, 0, 0, width, height);
|
|
// x += width;
|
|
|
|
for (i = 0; i < count; i++) {
|
|
pic.drawParts(x, y, width, 0, width, height);
|
|
x += width;
|
|
}
|
|
|
|
// 右端の描画
|
|
pic.drawParts(x, y, width * 2, 0, width, height);
|
|
},
|
|
|
|
_getSentenceTextUI: function() {
|
|
return root.queryTextUI('questreward_title');
|
|
},
|
|
|
|
_getNumberColorIndex: function() {
|
|
return 3;
|
|
}
|
|
}
|
|
);
|
|
|
|
var QuestSentence = {};
|
|
|
|
QuestSentence.EnemyTotal = defineObject(BaseQuestSentence,
|
|
{
|
|
_value: 0,
|
|
|
|
setCalculatorValue: function(quest) {
|
|
var list = quest.getFreeMap().getListFromUnitGroup(UnitGroup.ENEMY);
|
|
|
|
this._value = list.getCount();
|
|
},
|
|
|
|
drawQuestSentence: function(x, y) {
|
|
this._drawTitle(x, y);
|
|
this._drawNumberAndText(x, y, StringTable.Quest_EnemyTotal, this._value, this._getNumberColorInex());
|
|
},
|
|
|
|
_getNumberColorInex: function() {
|
|
return 3;
|
|
}
|
|
}
|
|
);
|
|
|
|
QuestSentence.EnemyAverageLevel = defineObject(BaseQuestSentence,
|
|
{
|
|
_value: 0,
|
|
|
|
setCalculatorValue: function(quest) {
|
|
var i, unit;
|
|
var list = quest.getFreeMap().getListFromUnitGroup(UnitGroup.ENEMY);
|
|
var count = list.getCount();
|
|
var totalLevel = 0;
|
|
|
|
for (i = 0; i < count; i++) {
|
|
unit = list.getData(i);
|
|
totalLevel += unit.getLv();
|
|
}
|
|
|
|
this._value = Math.floor(totalLevel / count);
|
|
},
|
|
|
|
drawQuestSentence: function(x, y) {
|
|
this._drawTitle(x, y);
|
|
this._drawNumberAndText(x, y, StringTable.Quest_AverageLevel, this._value, this._getNumberColorInex());
|
|
},
|
|
|
|
_getNumberColorInex: function() {
|
|
return 3;
|
|
}
|
|
}
|
|
);
|
|
|
|
var QuestRewardType = {
|
|
ITEM: 0,
|
|
GOLD: 1,
|
|
BONUS: 2,
|
|
TEXT: 3
|
|
};
|
|
|
|
QuestSentence.Reward = defineObject(BaseQuestSentence,
|
|
{
|
|
_arr: null,
|
|
|
|
setCalculatorValue: function(quest) {
|
|
var i, reward;
|
|
var list = quest.getRewardList();
|
|
var count = list.getCount();
|
|
|
|
this._arr = [];
|
|
|
|
for (i = 0; i < count; i++) {
|
|
reward = list.getData(i);
|
|
if (this._isRewardEnabled(reward)) {
|
|
this._arr.push(reward);
|
|
}
|
|
}
|
|
},
|
|
|
|
drawQuestSentence: function(x, y) {
|
|
var i;
|
|
var count = this._arr.length;
|
|
|
|
for (i = 0; i < count; i++) {
|
|
this._drawReward(x, y, this._arr[i]);
|
|
y += this._detailWindow.getQuestSentenceSpaceY();
|
|
}
|
|
},
|
|
|
|
getQuestSentenceCount: function() {
|
|
return this._arr.length;
|
|
},
|
|
|
|
_drawReward: function(x, y, reward) {
|
|
var type = reward.getType();
|
|
|
|
if (type === QuestRewardType.ITEM) {
|
|
this._drawItem(x, y, reward);
|
|
}
|
|
else if (type === QuestRewardType.GOLD) {
|
|
this._drawGold(x, y, reward);
|
|
}
|
|
else if (type === QuestRewardType.BONUS) {
|
|
this._drawBonus(x, y, reward);
|
|
}
|
|
else if (type === QuestRewardType.TEXT) {
|
|
this._drawText(x, y, reward);
|
|
}
|
|
},
|
|
|
|
_drawItem: function(x, y, reward) {
|
|
var textui = this._getSentenceTextUI();
|
|
var color = textui.getColor();
|
|
var font = textui.getFont();
|
|
|
|
this._drawTitle(x, y);
|
|
y += 10;
|
|
ItemRenderer.drawItem(x + 8, y + 8, reward.getItem(), color, font, false);
|
|
TextRenderer.drawKeywordText(x + 168, y - 3, StringTable.Quest_GetItem, -1, ColorValue.KEYWORD, font);
|
|
},
|
|
|
|
_drawGold: function(x, y, reward) {
|
|
this._drawTitle(x, y);
|
|
this._drawNumberAndText(x, y, StringTable.Quest_GetGold, reward.getGold(), this._getNumberColorInex());
|
|
},
|
|
|
|
_drawBonus: function(x, y, reward) {
|
|
this._drawTitle(x, y);
|
|
this._drawNumberAndText(x, y, StringTable.Quest_GetBonus, reward.getBonus(), this._getNumberColorInex());
|
|
},
|
|
|
|
_drawText: function(x, y, reward) {
|
|
this._drawTitle(x, y);
|
|
this._drawNumberAndText(x, y, reward.getText(), reward.getValue(), reward.getNumberColorIndex());
|
|
},
|
|
|
|
_getNumberColorInex: function() {
|
|
return 1;
|
|
},
|
|
|
|
_isRewardEnabled: function(reward) {
|
|
// アイテムに変数を指定している場合は、取得できないことがある
|
|
if (reward.getType() === QuestRewardType.ITEM && reward.getItem() === null) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
);
|