function CBR_Window_ShopHelp() { this.initialize(...arguments); } function CBR_Window_ShopDo() { this.initialize(...arguments); } (function () { Scene_Shop.prototype.createDummyWindow = function () { const rect = this.dummyWindowRect(); this._dummyWindow = new Window_Base(rect); this._dummyWindow.hide(); this._dummyWindow.show = function () {}; this.addWindow(this._dummyWindow); }; // // カテゴリウィンドウを消す Scene_Shop.prototype.create = function () { Scene_MenuBase.prototype.create.call(this); this.createHelpWindow(); this.createCommandWindow(); this.createDummyWindow(); this.createBuyWindow(); this.createCategoryWindow(); this.createSellWindow(); this.createNumberWindow(); this.createGoldWindow(); this.createStatusWindow(); this.createDoWindow(); this._commandWindow.setBuyWindow(this._buyWindow); this._commandWindow.setSellWindow(this._sellWindow); this.addWindow(this._commandWindow); this._commandWindow.select(0); }; Scene_Shop.prototype.createBackground = function () { this._backgroundSprite = new Sprite(); this._backgroundSprite.bitmap = ImageManager.loadSystem("shop_back"); this.addChild(this._backgroundSprite); this._backgroundTextSprite = new Sprite(new Bitmap(Graphics.width, Graphics.height)); var b = this._backgroundTextSprite.bitmap; b.fontFace = "serif"; b.fontSize = 32; b.textColor = "#000000"; b.drawTextM("Shop", 22, 20, 200, 22, "center"); this.addChild(this._backgroundTextSprite); this._backgroundTextSprite2 = new Sprite(new Bitmap(200, 50)); var b2 = this._backgroundTextSprite2.bitmap; b2.fontFace = "serif"; b2.fontSize = 18; b2.textColor = "#000000"; b2.drawTextM("Price", 0, 0, 200, 50, "center"); this._backgroundTextSprite2.x = 524; this._backgroundTextSprite2.y = 58; this.addChild(this._backgroundTextSprite2); this._backgroundTextSprite3 = new Sprite(new Bitmap(200, 50)); var b3 = this._backgroundTextSprite3.bitmap; b3.fontFace = "serif"; b3.fontSize = 18; b3.textColor = "#000000"; b3.drawTextM("Quantity", 0, 0, 200, 50, "center"); this._backgroundTextSprite3.x = 614; this._backgroundTextSprite3.y = 58; this.addChild(this._backgroundTextSprite3); }; Scene_Shop.prototype.createCommandWindow = function () { const rect = this.commandWindowRect(); this._commandWindow = new Window_ShopCommand(rect); this._commandWindow.setPurchaseOnly(this._purchaseOnly); // this._commandWindow.y = this.mainAreaTop(); // this._commandWindow.setHandler("buy", this.commandSell.bind(this)); // this._commandWindow.setHandler("item", this.commandSell.bind(this)); // this._commandWindow.setHandler("weapon", this.commandSell.bind(this)); this._commandWindow.setHandler("cancel", this.popScene.bind(this)); //this.addWindow(this._commandWindow); }; Scene_Shop.prototype.createDoWindow = function () { const rect = this.doWindowRect(); this._doWindow = new CBR_Window_ShopDo(rect); this._doWindow.hide(); this._doWindow.setHandler("ok", this.onDoOk.bind(this)); this._doWindow.setHandler("cancel", this.onDoCancel.bind(this)); this.addWindow(this._doWindow); }; Scene_Shop.prototype.createBuyWindow = function () { const rect = this.buyWindowRect(); this._buyWindow = new Window_ShopBuy(rect); this._buyWindow.setupGoods(this._goods); this._buyWindow.setHelpWindow(this._helpWindow); this._buyWindow.setStatusWindow(this._statusWindow); this._buyWindow.hide(); this._buyWindow.setHandler("ok", this.onBuyOk.bind(this)); //this._buyWindow.setHandler("cancel", this.onBuyCancel.bind(this)); this.addWindow(this._buyWindow); }; Scene_Shop.prototype.onBuyOk = function () { this._item = this._buyWindow.item(); this._buyWindow.hide(); this._numberWindow.setup(this._item, this.maxBuy(), this.buyingPrice()); this._numberWindow.setCurrencyUnit(this.currencyUnit()); this._numberWindow.show(); this._numberWindow.activate(); }; Scene_Shop.prototype.createSellWindow = function () { const rect = this.sellWindowRect(); this._sellWindow = new Window_ShopSell(rect); this._sellWindow.setHelpWindow(this._helpWindow); this._sellWindow.hide(); this._sellWindow.setHandler("ok", this.onSellOk.bind(this)); // this._sellWindow.setHandler("cancel", this.onSellCancel.bind(this)); //this._categoryWindow.setItemWindow(this._sellWindow); this.addWindow(this._sellWindow); // if (!this._categoryWindow.needsSelection()) { // this._sellWindow.y -= this._categoryWindow.height; // this._sellWindow.height += this._categoryWindow.height; // } }; // 種類ウィンドウを非アクティブにする Scene_Shop.prototype.onBuyOk = function () { this._item = this._buyWindow.item(); //this._buyWindow.hide(); this._commandWindow.deactivate(); this._numberWindow.setup(this._item, this.maxBuy(), this.buyingPrice()); this._numberWindow.setCurrencyUnit(this.currencyUnit()); this._numberWindow.show(); this._numberWindow.activate(); }; Scene_Shop.prototype.onSellOk = function () { this._item = this._sellWindow.item(); this._categoryWindow.hide(); //this._sellWindow.hide(); this._commandWindow.deactivate(); this._numberWindow.setup(this._item, this.maxSell(), this.sellingPrice()); this._numberWindow.setCurrencyUnit(this.currencyUnit()); this._numberWindow.show(); this._numberWindow.activate(); this._statusWindow.setItem(this._item); this._statusWindow.show(); }; Scene_Shop.prototype.endNumberInput = function () { //this._numberWindow.hide(); switch (this._commandWindow.currentSymbol()) { case "buy": this.activateBuyWindow(); break; case "item": this.activateSellWindow(); break; case "weapon": this.activateSellWindow(); break; } }; Scene_Shop.prototype.onNumberOk = function () { this._numberWindow.deactivate(); this._doWindow.show(); this._doWindow.activate(); }; // 種類ウィンドウをアクティブにする Scene_Shop.prototype.onDoOk = function () { SoundManager.playShop(); switch (this._commandWindow.currentSymbol()) { case "buy": this.doBuy(this._numberWindow.number()); break; case "item": this.doSell(this._numberWindow.number()); break; case "weapon": this.doSell(this._numberWindow.number()); break; } this._doWindow.hide(); this._commandWindow.activate(); this.endNumberInput(); this._goldWindow.refresh(); this._statusWindow.refresh(); this._numberWindow.refresh_emp(); }; Scene_Shop.prototype.onDoCancel = function () { this._doWindow.hide(); this._numberWindow.activate(); SoundManager.playCancel(); //this.endNumberInput(); }; Scene_Shop.prototype.onNumberCancel = function () { this._numberWindow.refresh_emp(); this._commandWindow.activate(); SoundManager.playCancel(); this.endNumberInput(); }; // ########################################################## // ############### 種類ウィンドウ ##################### // ########################################################## Scene_Shop.prototype.commandWindowRect = function () { const wx = 270; const wy = -4; const ww = 420; const wh = 58 + 8; return new Rectangle(wx, wy, ww, wh); }; Window_ShopCommand.prototype.maxCols = function () { return 3; }; Window_ShopCommand.prototype.setSellWindow = function (sellWindow) { this._sellWindow = sellWindow; }; Window_ShopCommand.prototype.setBuyWindow = function (buyWindow) { this._buyWindow = buyWindow; }; Window_ShopCommand.prototype.select = function (index) { this._index = index; this.contents.clear(); this.contentsBack.clear(); this.drawAllItems(); this.refreshCursor(); this.callUpdateHelp(); if (this.showingIndx !== index) { if (this._sellWindow && this._buyWindow) { this.showingIndx = index; if (index == 1 || index == 2) { this._buyWindow.hide(); this._buyWindow.deactivate(); this._sellWindow.show(); this._sellWindow.refresh(); this._sellWindow.select(0); this._sellWindow.activate(); var ary = [, "item", "weapon"]; this._sellWindow.setCategory(ary[index]); this._sellWindow.callUpdateHelp(); } else { this._sellWindow.hide(); this._sellWindow.deactivate(); this._buyWindow.setMoney($gameParty.gold()); this._buyWindow.show(); this._buyWindow.refresh(); this._buyWindow.select(0); this._buyWindow.activate(); this._buyWindow.callUpdateHelp(); } } } }; Window_ShopCommand.prototype.makeCommandList = function () { this.addCommand(TextManager.buy, "buy"); this.addCommand("Sell Items", "item"); this.addCommand("Sell Equip", "weapon"); }; Window_ShopCommand.prototype._refreshAllParts = function () { this._padding = 0; //this._refreshBack(); //this._refreshFrame(); this._refreshCursor(); this._refreshArrows(); this._refreshPauseSign(); }; //カーソルの変更 Window_ShopCommand.prototype.loadWindowskin = function () { this.windowskin = ImageManager.loadSystem("Window"); this.menu_item_skin = ImageManager.loadSystem("menu_item_categoly_select"); this.menu_cursor_skin = ImageManager.loadSystem("menu_item_categoly_cursor"); if (!this.menu_item_skin.isReady()) { this.menu_item_skin.addLoadListener(() => { this.refresh(); // 画像がロードされたら再描画 }); return; } }; Window_ShopCommand.prototype.lineHeight = function () { return 58; }; Window_ShopCommand.prototype._refreshCursor = function () { const drect = this._cursorRect.clone(); const srect = { x: 0, y: 0, width: 126, height: 58 }; const m = 0; for (const child of this._cursorSprite.children) { child.bitmap = this.menu_cursor_skin; } this._setRectPartsGeometry(this._cursorSprite, srect, drect, m); }; //カーソルを微調整、あとカーソルを常に不透明に Window_ShopCommand.prototype._updateCursor = function () { this._cursorSprite.alpha = 255; this._cursorSprite.visible = this.isOpen() && this.cursorVisible; this._cursorSprite.x = this._cursorRect.x; this._cursorSprite.y = this._cursorRect.y - 4; }; //未選択コマンドの背景を画像に Window_ShopCommand.prototype.drawItemBackground = function (index) { const rect = this.itemRect(index); if (this.menu_item_skin.isReady()) { const bitmap = this.menu_item_skin; const dx = rect.x; const dy = rect.y; const dw = rect.width; const dh = rect.height; this.contentsBack.blt(bitmap, 0, 0, 126, 58, dx, dy - 4, dw, dh); } }; //カーソルが来た時、アイテムの文字名の色を変更する Window_ShopCommand.prototype.drawItem = function (index) { const rect = this.itemLineRect(index); const align = this.itemTextAlign(); this.resetTextColor(); if (index == this._index) { this.changeTextColor("#000000"); } this.changePaintOpacity(this.isCommandEnabled(index)); //文字をちょっと下にする this.drawTextS(this.commandName(index), rect.x, rect.y + 8, rect.width, align); }; //↑のセレクトでの不具合を出ないようにする Window_ShopCommand.prototype.drawAllItems = function () { const topIndex = this.topIndex(); for (let i = 0; i < this.maxVisibleItems(); i++) { const index = topIndex + i; if (this._list && index < this.maxItems()) { //選択ちゅうだけ背景なくす if (i != this._index) { this.drawItemBackground(index); } this.drawItem(index); } } }; // ########################################################## // ############### 購入ウィンドウ ##################### // ########################################################## Scene_Shop.prototype.buyWindowRect = function () { const wx = 4; const wy = 86; const ww = 780 - 7; const wh = 464; return new Rectangle(wx, wy, ww, wh); }; Window_ShopBuy.prototype._refreshAllParts = function () { //this._refreshBack(); //this._refreshFrame(); this._refreshCursor(); this._refreshArrows(); this._refreshPauseSign(); }; Window_ShopBuy.prototype.numberWidth = function () { return this.textWidth("000"); }; Window_ShopBuy.prototype.drawItem = function (index) { const item = this.itemAt(index); if (item) { const numberWidth = this.numberWidth(); const rect = this.itemLineRect(index); this.changePaintOpacity(this.isEnabled(item)); this.drawItemName(item, rect.x, rect.y, rect.width - numberWidth); this.drawItemNumber(item, rect.x, rect.y, rect.width); this.changeTextColor("#000000"); this.drawTextM(item.price, rect.x + 520, rect.y, 96, "right"); this.changePaintOpacity(1); } }; Window_ShopBuy.prototype.drawItemName = function (item, x, y, width) { if (item) { const iconY = y + (this.lineHeight() - ImageManager.iconHeight) / 2; const delta = ImageManager.standardIconWidth - ImageManager.iconWidth; const textMargin = ImageManager.standardIconWidth + 4; const itemWidth = Math.max(0, width - textMargin); this.resetTextColor(); //this.drawIcon(item.iconIndex, x + delta / 2, iconY); this.changeTextColor("#000000"); this.contents.fontFace = "serif"; this.drawTextM(item.name, x + textMargin + 24 + 30, y, itemWidth); this.resetTextColor(); } }; Window_ShopBuy.prototype.drawItemNumber = function (item, x, y, width) { // if (this.needsNumber()) { this.changeTextColor("#000000"); this.drawTextS($gameParty.numItems(item), x - 30, y, width, "right"); this.resetTextColor(); // } }; Window_ShopBuy.prototype.maxCols = function () { return 1; }; //カーソルの変更 Window_ShopBuy.prototype.loadWindowskin = function () { this.windowskin = ImageManager.loadSystem("Window"); this.menu_cursor_skin = ImageManager.loadSystem("menu_item_selected"); this.menu_item_skin = ImageManager.loadSystem("menu_item_selected_2"); }; //56×200にする Window_ShopBuy.prototype._refreshCursor = function () { const drect = this._cursorRect.clone(); const srect = { x: 0, y: 40, width: 588, height: 40 }; const m = 0; for (const child of this._cursorSprite.children) { child.bitmap = this.menu_item_skin; } this._setRectPartsGeometry(this._cursorSprite, srect, drect, m); }; //未選択コマンドの背景を画像に Window_ShopBuy.prototype.drawItemBackground = function (index) { const rect = this.itemRect(index); if (this.menu_item_skin) { const bitmap = this.menu_item_skin; const dx = rect.x; const dy = rect.y; const dw = rect.width; const dh = rect.height; this.contentsBack.blt(bitmap, 0, 0, 588, 40, dx, dy, dw, dh); } }; // ########################################################## // ############### 売却ウィンドウ ##################### // ########################################################## Scene_Shop.prototype.sellWindowRect = function () { const wx = 0; const wy = 86; const ww = 780 + 1; const wh = 464; return new Rectangle(wx, wy, ww, wh); }; Window_ShopSell.prototype.drawItemName = function (item, x, y, width) { if (item) { const iconY = y + (this.lineHeight() - ImageManager.iconHeight) / 2; const delta = ImageManager.standardIconWidth - ImageManager.iconWidth; const textMargin = ImageManager.standardIconWidth + 4; const itemWidth = Math.max(0, width - textMargin); this.resetTextColor(); //this.drawIcon(item.iconIndex, x + delta / 2, iconY); this.changeTextColor("#000000"); this.contents.fontFace = "serif"; this.drawTextM(item.name, x + textMargin + 24 + 30, y, itemWidth); this.resetTextColor(); } }; // Window_ShopSell.prototype.updateHelp = function () { // this.setHelpWindowItem(this.item()); // }; Window_ShopSell.prototype.drawItem = function (index) { const item = this.itemAt(index); if (item) { const numberWidth = this.numberWidth(); const rect = this.itemLineRect(index); this.changePaintOpacity(this.isEnabled(item)); this.drawItemName(item, rect.x, rect.y, rect.width - numberWidth); this.drawItemNumber(item, rect.x, rect.y, rect.width); this.changeTextColor("#000000"); this.drawTextM(Math.floor(item.price / 2), rect.x + 520, rect.y, 96, "right"); this.changePaintOpacity(1); } }; // ########################################################## // #################### ステータスウィンドウ ################### // ########################################################## Scene_Shop.prototype.createStatusWindow = function () { const rect = this.statusWindowRect(); this._statusWindow = new Window_ShopStatus(rect); this._statusWindow._isWindow = false; this._statusWindow.hide(); this._statusWindow.show = function () {}; this.addWindow(this._statusWindow); }; Scene_Shop.prototype.statusWindowRect = function () { const ww = this.statusWidth(); const wh = 400; const wx = Graphics.boxWidth - ww; const wy = 300; return new Rectangle(wx, wy, ww, wh); }; // ########################################################## // #################### 数値入力ウィンドウ ################### // ########################################################## Scene_Shop.prototype.numberWindowRect = function () { const wx = 770; const wy = 90; const ww = 510; const wh = 310; return new Rectangle(wx, wy, ww, wh); }; Scene_Shop.prototype.createNumberWindow = function () { const rect = this.numberWindowRect(); this._numberWindow = new Window_ShopNumber(rect); //this._numberWindow.hide(); this._numberWindow.setHandler("ok", this.onNumberOk.bind(this)); this._numberWindow.setHandler("cancel", this.onNumberCancel.bind(this)); this._numberWindow.refresh_emp(); this.addWindow(this._numberWindow); }; Window_ShopNumber.prototype.refresh_emp = function () { Window_Selectable.prototype.refresh.call(this); this.contents.fontFace = "serif"; this.contents.fontSize = 18; this.contents.textColor = "#000000"; this.drawItemBackground(0); this.contents.textColor = "#000000"; this.drawTextM("Money", 154, 24, 200, "center"); this.drawTextM("Total", 154, 54, 200, "center"); this.drawTextM("Yen", 326, 24, 200, "center"); this.drawTextM("Yen", 326, 54, 200, "center"); this.contents.textColor = "#FFFFFF"; this.drawTextS($gameParty.gold(), 95, 24, 300, "right"); }; const _Window_ShopNumber_update = Window_ShopNumber.prototype.update; Window_ShopNumber.prototype.update = function () { _Window_ShopNumber_update.apply(this, arguments); if (this.active && TouchInput.isTriggered()) { if (this.isTouchedInsideLeftArea()) { } else if (this.isTouchedInsideFrame()) { this.parent.parent.onNumberOk(); // 購入確定処理 } } }; Window_ShopNumber.prototype.isTouchedInsideLeftArea = function () { // マウス左クリック押した瞬間を検出 if (TouchInput.isTriggered()) { // 画面全体の座標 const mx = TouchInput.x; const my = TouchInput.y; // このウィンドウの内側座標に変換 const localX = mx - this.x - this.padding; const localY = my - this.y - this.padding; // 左 if (30 <= localX && localX <= 75 && 35 <= localY && localY <= 70) { this.changeNumber(-1); return true; // 右 } else if (30 + 115 <= localX && localX <= 75 + 115 && 35 <= localY && localY <= 70) { this.changeNumber(1); return true; // 上 } else if (90 <= localX && localX <= 125 && -10 <= localY && localY <= 35) { this.changeNumber(10); return true; } else if (90 <= localX && localX <= 125 && -10 + 90 <= localY && localY <= 35 + 100) { this.changeNumber(-10); return true; } } }; Window_ShopNumber.prototype.refresh = function () { Window_Selectable.prototype.refresh.call(this); this.contents.fontFace = "serif"; this.contents.fontSize = 18; this.contents.textColor = "#000000"; this.drawItemBackground(0); //this.drawCurrentItemName(); //this.drawMultiplicationSign(); this.drawNumber(); this.contents.fontSize = 18; //this.drawHorzLine(); this.drawTotalPrice(); this.contents.textColor = "#000000"; this.drawTextM("Money", 154, 24, 200, "center"); this.drawTextM("Total", 154, 54, 200, "center"); this.drawTextM("Yen", 326, 24, 200, "center"); this.drawTextM("Yen", 326, 54, 200, "center"); this.contents.textColor = "#FFFFFF"; this.drawTextS($gameParty.gold(), 95, 24, 300, "right"); }; Window_ShopNumber.prototype.drawNumber = function () { this.contents.fontSize = 32; const x = this.cursorX(); const y = this.itemNameY(); const width = this.cursorWidth() - this.itemPadding(); this.resetTextColor(); this.drawText(this._number, x + 12, y, width, "center"); }; Window_ShopNumber.prototype.cursorX = function () { const padding = this.itemPadding(); return this.innerWidth - this.cursorWidth() - padding * 2 - 332; }; Window_ShopNumber.prototype.playOkSound = function () { SoundManager.playOk(); }; Window_ShopNumber.prototype.itemNameY = function () { return Math.floor(this.innerHeight / 2 - this.lineHeight() * 1.5) - 29; }; Window_ShopNumber.prototype.cursorWidth = function () { const padding = this.itemPadding(); const digitWidth = this.textWidth("0"); return this.maxDigits() * digitWidth + padding * 2 + 20; }; Window_ShopNumber.prototype.lineHeight = function () { return 36 + 14; }; // 購入額 売却額 Window_ShopNumber.prototype.drawCurrencyValue = function (value, unit, x, y, width) { const unitWidth = Math.min(80, this.textWidth(unit)); this.resetTextColor(); this.drawTextS(value, x + 94, y - 83, 300, "right"); // this.changeTextColor(ColorManager.systemColor()); // this.drawText(unit, x + width - unitWidth, y, unitWidth, "right"); }; Window_ShopNumber.prototype._refreshAllParts = function () { // this._refreshBack(); // this._refreshFrame(); this._refreshCursor(); this._refreshArrows(); this._refreshPauseSign(); }; // ########################################################## // #################### はい・いいえウィンドウ ################### // ########################################################## Scene_Shop.prototype.doWindowRect = function () { const wx = 800; const wy = 270; const ww = 450; const wh = 90; return new Rectangle(wx, wy, ww, wh); }; CBR_Window_ShopDo.prototype = Object.create(Window_Command.prototype); CBR_Window_ShopDo.prototype.constructor = CBR_Window_ShopDo; CBR_Window_ShopDo.prototype.initialize = function (rect) { Window_Command.prototype.initialize.call(this, rect); //this.openness = 0; this.deactivate(); }; CBR_Window_ShopDo.prototype.maxCols = function () { return 2; }; CBR_Window_ShopDo.prototype.makeCommandList = function () { this.addCommand("Buy", "ok"); this.addCommand("Cancel", "cancel"); }; CBR_Window_ShopDo.prototype.drawItem = function (index) { const rect = this.itemLineRect(index); const align = this.itemTextAlign(); this.resetTextColor(); this.contents.fontFace = "serif"; this.contents.fontSize = 18; if (this.index() === index) { this.contents.textColor = "#000000"; } else { this.contents.textColor = "#FFFFFF"; } this.changePaintOpacity(this.isCommandEnabled(index)); if (this.parent && this.parent.parent._commandWindow.currentSymbol() !== "buy" && !index) { this.drawTextM("Sell", rect.x, rect.y, rect.width, align); } else { this.drawTextM(this.commandName(index), rect.x, rect.y, rect.width, align); } }; CBR_Window_ShopDo.prototype.select = function (index) { this._index = index; if (this._list) { this.paint(); } this.refreshCursor(); }; CBR_Window_ShopDo.prototype.playOkSound = function () {}; CBR_Window_ShopDo.prototype.loadWindowskin = function () { this.windowskin = ImageManager.loadSystem("Window"); this._battlewindowskin = ImageManager.loadSystem("battle_command"); }; //無駄な物を削除 CBR_Window_ShopDo.prototype._refreshAllParts = function () { // this._refreshBack(); // this._refreshFrame(); //this._refreshCursor(); //this._refreshArrows(); //this._refreshPauseSign(); }; //56×200にする CBR_Window_ShopDo.prototype._refreshCursor = function () { const drect = this._cursorRect.clone(); const srect = { x: 0, y: 0, width: 169, height: 58 }; const m = 4; for (const child of this._cursorSprite.children) { child.bitmap = this._battlewindowskin; } this._setRectPartsGeometry(this._cursorSprite, srect, drect, m); }; //透明度を1に CBR_Window_ShopDo.prototype._updateCursor = function () { this._cursorSprite.alpha = 1; this._cursorSprite.visible = this.isOpen() && this.cursorVisible; this._cursorSprite.x = this._cursorRect.x; this._cursorSprite.y = this._cursorRect.y; }; //未選択コマンドの背景を画像に CBR_Window_ShopDo.prototype.drawItemBackground = function (index) { const rect = this.itemRect(index); if (this._battlewindowskin) { const bitmap = this._battlewindowskin; const dx = rect.x; const dy = rect.y; const dw = rect.width; const dh = rect.height; this.contentsBack.blt(bitmap, 0, 58, 169, 58, dx, dy, dw, dh); } }; CBR_Window_ShopDo.prototype.itemHeight = function () { return 58; }; // ########################################################## // #################### お金ウィンドウ ################### // ########################################################## Scene_Shop.prototype.createGoldWindow = function () { const rect = this.goldWindowRect(); this._goldWindow = new Window_Gold(rect); this._goldWindow.hide(); this.addWindow(this._goldWindow); }; // ########################################################## // #################### ヘルプウィンドウ ##################### // ########################################################## Scene_Shop.prototype.helpWindowRect = function () { const wx = 20; const wy = 550; const ww = 752; const wh = 120; return new Rectangle(wx, wy, ww, wh); }; Scene_Shop.prototype.createHelpWindow = function () { const rect = this.helpWindowRect(); this._helpWindow = new CBR_Window_ShopHelp(rect); this.addWindow(this._helpWindow); }; CBR_Window_ShopHelp.prototype = Object.create(Window_Help.prototype); CBR_Window_ShopHelp.prototype.constructor = CBR_Window_ShopHelp; CBR_Window_ShopHelp.prototype.loadWindowskin = function () { this.windowskin = ImageManager.loadSystem("Window"); //this.CBR_back = ImageManager.loadSystem("battle_skill_help_window"); }; CBR_Window_ShopHelp.prototype._refreshAllParts = function () { //this._refreshBack(); //this._refreshFrame(); this._refreshCursor(); this._refreshArrows(); this._refreshPauseSign(); }; // CBR_Window_ShopHelp.prototype.updateBackOpacity = function () { // this.backOpacity = 255; // }; CBR_Window_ShopHelp.prototype.refresh = function () { const rect = this.baseTextRect(); this.contents.clear(); this.contents.fontFace = "serif"; this.contents.fontSize = 18; this.contents.textColor = "#000000"; this.drawTextM("Description", rect.x + 4, rect.y - 3, 80, "center"); this.contents.textColor = "#FFFFFF"; this.drawTextExS(this._text, rect.x + 100, rect.y + 2, rect.width); }; // ########################################################## // #################### カテゴリーウィンドウ ################## // ########################################################## Scene_Shop.prototype.activateSellWindow = function () { if (this._categoryWindow.needsSelection()) { // this._categoryWindow.show(); } this._sellWindow.refresh(); this._sellWindow.show(); this._sellWindow.activate(); this._statusWindow.hide(); }; Scene_Shop.prototype.commandSell = function () { this._dummyWindow.hide(); this._sellWindow.show(); this._sellWindow.deselect(); this._sellWindow.refresh(); if (this._categoryWindow.needsSelection()) { // this._categoryWindow.show(); // this._categoryWindow.activate(); } else { this.onCategoryOk(); } }; Scene_Shop.prototype.onSellCancel = function () { this._sellWindow.deselect(); this._statusWindow.setItem(null); this._helpWindow.clear(); if (this._categoryWindow.needsSelection()) { //this._categoryWindow.activate(); } else { this.onCategoryCancel(); } }; })();