//=============================================================================
// TMVplugin - リングコマンド
// 作者: tomoaky (http://hikimoki.sakura.ne.jp/)
// Version: 0.4b
// 最終更新日: 2016/04/13
//=============================================================================
/*:
* @plugindesc マップシーンで使えるリングコマンドを追加します。
*
* @author tomoaky (http://hikimoki.sakura.ne.jp/)
*
* @param useEscape
* @desc Escキーなどによるメニュー処理を乗っ取る
* 初期値: 0 ( 1 にするとデフォルトのメニューは使えません)
* @default 0
*
* @param useCaption
* @desc リングコマンドにコマンド名を字幕で表示する
* 初期値: 1 ( 0 で非表示)
* @default 1
*
* @param saveLastIndex
* @desc 最後に選択したコマンドを記憶する
* 初期値: 0 ( 1 で前回決定したコマンドが初期位置になります)
* @default 0
*
* @param openResetIndex
* @desc リングコマンド開閉のたびにカーソル位置を初期化する
* 初期値: 0 ( 1 で開閉のたびに初期化)
* @default 0
*
* @param openGoldWindow
* @desc リングコマンドと一緒に所持金ウィンドウも開閉する
* 初期値: 1 ( 0 で開閉しない)
* @default 1
*
* @param goldWindowX
* @desc 所持金ウィンドウのX座標
* 初期値: 576
* @default 576
*
* @param goldWindowY
* @desc 所持金ウィンドウのY座標
* 初期値: 0
* @default 0
*
* @param seOpenCommand
* @desc リングコマンドを開くときに鳴らす効果音
* 初期値: {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
* @default {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
*
* @param seCloseCommand
* @desc リングコマンドを閉じるときに鳴らす効果音
* 初期値: {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
* @default {name: "Cancel2", volume: 90, pitch: 100, pan: 0}
*
* @param commandIconItem
* @desc アイテムコマンドのアイコン番号
* 初期値: 176
* @default 176
*
* @param commandIconSkill
* @desc スキルコマンドのアイコン番号
* 初期値: 76
* @default 76
*
* @param commandIconEquip
* @desc 装備コマンドのアイコン番号
* 初期値: 135
* @default 135
*
* @param commandIconStatus
* @desc ステータスコマンドのアイコン番号
* 初期値: 84
* @default 84
*
* @param commandIconFormation
* @desc 並び替えコマンドのアイコン番号
* 初期値: 75
* @default 75
*
* @param commandIconOptions
* @desc オプションコマンドのアイコン番号
* 初期値: 83
* @default 83
*
* @param commandIconSave
* @desc セーブコマンドのアイコン番号
* 初期値: 225
* @default 225
*
* @param commandIconGameEnd
* @desc ゲーム終了コマンドのアイコン番号
* 初期値: 82
* @default 82
*
* @param commandIconGoldLevelUp
* @desc お金でレベルアップコマンドのアイコン番号
* 初期値: 236 ( TMGoldLevelUp.js 導入時のみ有効)
* @default 236
*
* @param rotateDuration
* @desc アイコンの移動にかける時間
* 初期値: 4(フレーム数)
* @default 4
*
* @param iconDistX
* @desc アイコンの広がり(横方向)
* 初期値: 16
* @default 16
*
* @param iconDistY
* @desc アイコンの広がり(縦方向)
* 初期値: 12
* @default 12
*
* @param iconSelectScale
* @desc 選択中アイコンの拡大率補正
* 初期値: 1.5
* @default 1.5
*
* @param captionWidth
* @desc キャプションの幅
* 初期値: 200
* @default 200
*
* @param captionHeight
* @desc キャプションの高さ
* 初期値: 48
* @default 48
*
* @param captionShiftX
* @desc キャプションのX座標補正値
* 初期値: 0
* @default 0
*
* @param captionShiftY
* @desc キャプションのY座標補正値
* 初期値: -96
* @default -96
*
* @help
* マップシーンで Ctrl または Alt を押している間、リングコマンドが表示され
* ←, → でリングの回転、Z, Enter, Space で各シーンへ移行できます。
*
* useEscape に 1 を設定すると Ctrl(Alt) での操作は無効化され、
* デフォルトメニューと同様に Esc / X / Insert / Num 0 / 右クリック などで
* リングコマンドを開閉することができるようになります。
* この場合、キーを押しっぱなしにする必要はありません。
*
* マウスで操作する場合は、プレイヤーよりも左あるいは右をクリックすると
* それぞれの方向へリングを回転させることができ、プレイヤーの近くを
* クリックすれば正面にあるコマンドアイコンに対応するシーンへ移行します。
* クリックの座標判定は横方向のみです、画面のどこをクリックしても反応します。
*
* プラグインコマンドはありません。
*
* TMGoldLevelUp.js(お金でレベルアップ)と併用する場合、TMGoldLevelUp.jsの
* バージョンが Ver1.11 以上である必要があります。
*
*/
var Imported = Imported || {};
Imported.TMRingCommand = true;
(function() {
var parameters = PluginManager.parameters('TMRingCommand');
var useEscape = parameters['useEscape'] === '1' ? true : false;
var useCaption = parameters['useCaption'] === '1' ? true : false;
var saveLastIndex = parameters['saveLastIndex'] === '1' ? true : false;
var openResetIndex = parameters['openResetIndex'] === '1' ? true : false;
var openGoldWindow = parameters['openGoldWindow'] === '1' ? true : false;
var goldWindowX = Number(parameters['goldWindowX']);
var goldWindowY = Number(parameters['goldWindowY']);
var seOpenCommand = (new Function("return " + parameters['seOpenCommand']))();
var seCloseCommand = (new Function("return " + parameters['seCloseCommand']))();
var commandIcon = {};
commandIcon['item'] = Number(parameters['commandIconItem']);
commandIcon['skill'] = Number(parameters['commandIconSkill']);
commandIcon['equip'] = Number(parameters['commandIconEquip']);
commandIcon['status'] = Number(parameters['commandIconStatus']);
commandIcon['formation'] = Number(parameters['commandIconFormation']);
commandIcon['options'] = Number(parameters['commandIconOptions']);
commandIcon['save'] = Number(parameters['commandIconSave']);
commandIcon['gameEnd'] = Number(parameters['commandIconGameEnd']);
commandIcon['goldLevelUp'] = Number(parameters['commandIconGoldLevelUp']);
var rotateDuration = Number(parameters['rotateDuration']);
var iconDistX = Number(parameters['iconDistX']);
var iconDistY = Number(parameters['iconDistY']);
var iconSelectScale = Number(parameters['iconSelectScale']);
var captionWidth = Number(parameters['captionWidth']);
var captionHeight = Number(parameters['captionHeight']);
var captionShiftX = Number(parameters['captionShiftX']);
var captionShiftY = Number(parameters['captionShiftY']);
//-----------------------------------------------------------------------------
// Game_Temp
//
Game_Temp.prototype.isRingCommandVisible = function() {
if (this._ringCommandVisible === undefined) {
this._ringCommandVisible = false;
}
return this._ringCommandVisible;
};
Game_Temp.prototype.setRingCommandVisible = function(flag) {
this._ringCommandVisible = flag;
};
Game_Temp.prototype.ringCommandLastIndex = function() {
if (this._ringCommandLastIndex === undefined) {
this._ringCommandLastIndex = 0;
}
return this._ringCommandLastIndex;
};
Game_Temp.prototype.setRingCommandLastIndex = function(index) {
this._ringCommandLastIndex = index;
};
Game_Temp.prototype.calledByRingCommand = function() {
if (this._calledByRingCommand === undefined) {
this._calledByRingCommand = false;
}
return this._calledByRingCommand;
};
Game_Temp.prototype.setCalledByRingCommand = function(flag) {
this._calledByRingCommand = flag;
};
//-----------------------------------------------------------------------------
// Game_Player
//
var _Game_Player_canMove = Game_Player.prototype.canMove;
Game_Player.prototype.canMove = function() {
if ($gameTemp.isRingCommandVisible()) {
return false;
}
return _Game_Player_canMove.call(this);
};
//-----------------------------------------------------------------------------
// Sprite_TMRingCommandIcon
//
function Sprite_TMRingCommandIcon() {
this.initialize.apply(this, arguments);
}
Sprite_TMRingCommandIcon.prototype = Object.create(Sprite.prototype);
Sprite_TMRingCommandIcon.prototype.constructor = Sprite_TMRingCommandIcon;
Sprite_TMRingCommandIcon.prototype.initialize = function(name) {
Sprite.prototype.initialize.call(this);
this.anchor.x = 0.5;
this.anchor.y = 0.5;
this._commandName = name;
this.bitmap = ImageManager.loadSystem('IconSet');
var bx = commandIcon[name] % 16 * Window_Base._iconWidth;
var by = Math.floor(commandIcon[name] / 16) * Window_Base._iconHeight;
this.setFrame(bx, by, Window_Base._iconWidth, Window_Base._iconHeight);
this._targetPosAngle = 0;
this._posAngle = 0;
};
Sprite_TMRingCommandIcon.prototype.setIndex = function(index) {
this._targetPosAngle = Math.PI * 2 / this.parent._commandSprites.length * index;
var r = this._targetPosAngle - this._posAngle;
r -= Math.floor(r / (Math.PI * 2)) * (Math.PI * 2);
if (r > Math.PI) {
r -= Math.PI * 2;
}
this._rotationCount = rotateDuration;
this._va = r / this._rotationCount;
};
Sprite_TMRingCommandIcon.prototype.name = function() {
return this._commandName;
};
Sprite_TMRingCommandIcon.prototype.isEnabled = function() {
switch (this._commandName) {
case 'save':
return this.isSaveEnabled();
case 'options':
return this.isOptionsEnabled();
case 'gameEnd':
return this.isGameEndEnabled();
default:
return this.areMainCommandsEnabled();
}
};
Sprite_TMRingCommandIcon.prototype.areMainCommandsEnabled = function() {
return $gameParty.exists();
};
Sprite_TMRingCommandIcon.prototype.isFormationEnabled = function() {
return $gameParty.size() >= 2 && $gameSystem.isFormationEnabled();
};
Sprite_TMRingCommandIcon.prototype.isOptionsEnabled = function() {
return true;
};
Sprite_TMRingCommandIcon.prototype.isSaveEnabled = function() {
return !DataManager.isEventTest() && $gameSystem.isSaveEnabled();
};
Sprite_TMRingCommandIcon.prototype.isGameEndEnabled = function() {
return true;
};
Sprite_TMRingCommandIcon.prototype.update = function() {
Sprite.prototype.update.call(this);
if (this._rotationCount > 0) {
this._posAngle += this._va;
this._rotationCount--;
if (this._rotationCount === 0) {
this._posAngle = this._targetPosAngle;
}
}
var r = this._posAngle + Math.PI / 2;
this.x = Math.cos(r) * this.parent._commandRadius * iconDistX;
this.y = Math.sin(r) * this.parent._commandRadius * iconDistY - 24;
var scale = (this.y + 56) / 256 + 0.75;
if (this.parent.currentCommandName() === this.name()) {
scale *= iconSelectScale;
}
this.scale.set(scale, scale);
this.opacity = this.isEnabled() ? 255 : 160
};
//-----------------------------------------------------------------------------
// Sprite_TMRingCommandCaption
//
function Sprite_TMRingCommandCaption() {
this.initialize.apply(this, arguments);
}
Sprite_TMRingCommandCaption.prototype = Object.create(Sprite.prototype);
Sprite_TMRingCommandCaption.prototype.constructor = Sprite_TMRingCommandCaption;
Sprite_TMRingCommandCaption.prototype.initialize = function() {
Sprite.prototype.initialize.call(this);
this.anchor.x = 0.5;
this.anchor.y = 0.5;
this.x = captionShiftX;
this.y = captionShiftY;
this._commandName = '';
this.bitmap = new Bitmap(captionWidth, captionHeight);
};
Sprite_TMRingCommandCaption.prototype.update = function() {
if (this._commandName !== this.parent.currentCommandName()) {
this._commandName = this.parent.currentCommandName();
this.refresh();
}
};
Sprite_TMRingCommandCaption.prototype.refresh = function() {
this.bitmap.clear();
this.bitmap.paintOpacity = 160;
this.bitmap.fillRect(0, 0, 240, 48, '#000000');
this.bitmap.paintOpacity = 255;
this.bitmap.drawText(TextManager[this._commandName], 0, 0,
captionWidth, captionHeight, 'center');
};
//-----------------------------------------------------------------------------
// Sprite_TMRingCommand
//
function Sprite_TMRingCommand() {
this.initialize.apply(this, arguments);
}
Sprite_TMRingCommand.prototype = Object.create(Sprite.prototype);
Sprite_TMRingCommand.prototype.constructor = Sprite_TMRingCommand;
Sprite_TMRingCommand.prototype.initialize = function() {
Sprite.prototype.initialize.call(this);
this._commandIndex = saveLastIndex ? $gameTemp.ringCommandLastIndex() : 0;
this._commandRadius = 0;
this.makeCommandList();
this.makeCaption();
this.refresh();
};
Sprite_TMRingCommand.prototype.makeCommandList = function() {
this._commandSprites = []
this.addMainCommands();
this.addFormationCommand();
this.addOptionsCommand();
this.addOriginalCommand();
this.addSaveCommand();
this.addGameEndCommand();
};
Sprite_TMRingCommand.prototype.currentCommandName = function() {
return this._commandSprites[this._commandIndex].name();
};
Sprite_TMRingCommand.prototype.addMainCommands = function() {
if (this.needsCommand('item')) {
var sprite = new Sprite_TMRingCommandIcon('item');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
if (this.needsCommand('skill')) {
var sprite = new Sprite_TMRingCommandIcon('skill');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
if (this.needsCommand('equip')) {
var sprite = new Sprite_TMRingCommandIcon('equip');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
if (this.needsCommand('status')) {
var sprite = new Sprite_TMRingCommandIcon('status');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
};
Sprite_TMRingCommand.prototype.addFormationCommand = function() {
if (this.needsCommand('formation')) {
var sprite = new Sprite_TMRingCommandIcon('formation');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
};
Sprite_TMRingCommand.prototype.addOriginalCommand = function() {
if (Imported.TMGoldLevelUp && TextManager.goldLevelUp) {
var sprite = new Sprite_TMRingCommandIcon('goldLevelUp');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
};
Sprite_TMRingCommand.prototype.addOptionsCommand = function() {
var sprite = new Sprite_TMRingCommandIcon('options');
this._commandSprites.push(sprite);
this.addChild(sprite);
};
Sprite_TMRingCommand.prototype.addSaveCommand = function() {
if (this.needsCommand('save')) {
var sprite = new Sprite_TMRingCommandIcon('save');
this._commandSprites.push(sprite);
this.addChild(sprite);
}
};
Sprite_TMRingCommand.prototype.addGameEndCommand = function() {
var sprite = new Sprite_TMRingCommandIcon('gameEnd');
this._commandSprites.push(sprite);
this.addChild(sprite);
};
Sprite_TMRingCommand.prototype.needsCommand = function(name) {
var flags = $dataSystem.menuCommands;
if (flags) {
switch (name) {
case 'item':
return flags[0];
case 'skill':
return flags[1];
case 'equip':
return flags[2];
case 'status':
return flags[3];
case 'formation':
return flags[4];
case 'save':
return flags[5];
}
}
return true;
};
Sprite_TMRingCommand.prototype.makeCaption = function() {
if (useCaption) {
this._captionSprite = new Sprite_TMRingCommandCaption();
this.addChild(this._captionSprite);
}
};
Sprite_TMRingCommand.prototype.update = function() {
Sprite.prototype.update.call(this);
this.updateVisible();
if ($gameTemp.isRingCommandVisible()) {
if (this._commandRadius < 4) {
if (this._commandRadius === 0) {
if (openResetIndex) {
this._commandIndex = saveLastIndex ? $gameTemp.ringCommandLastIndex() : 0;
this.refresh();
}
AudioManager.playSe(seOpenCommand);
}
if (openGoldWindow && this.parent.parent) {
var goldWindow = this.parent.parent._messageWindow._goldWindow;
goldWindow.x = goldWindowX;
goldWindow.y = goldWindowY;
goldWindow.open();
}
this._commandRadius++;
}
this.updateInput();
this.x = $gamePlayer.screenX();
this.y = $gamePlayer.screenY();
} else {
if (this._commandRadius > 0) {
if (this._commandRadius === 4) {
if (openGoldWindow) {
this.parent.parent._messageWindow._goldWindow.close();
}
AudioManager.playSe(seCloseCommand);
}
this._commandRadius--;
}
}
};
Sprite_TMRingCommand.prototype.updateVisible = function() {
if (SceneManager._scene.isBusy() || $gameMap.isEventRunning() ||
!$gameSystem.isMenuEnabled()) {
$gameTemp.setRingCommandVisible(false);
} else if (useEscape) {
} else {
$gameTemp.setRingCommandVisible(Input.isPressed('control'));
}
this.visible = this._commandRadius > 0;
};
Sprite_TMRingCommand.prototype.updateInput = function() {
if (Input.isRepeated('left') || (TouchInput.isRepeated() &&
TouchInput.x < $gamePlayer.screenX() - 24)) {
this._commandIndex--
if (this._commandIndex < 0) {
this._commandIndex = this._commandSprites.length - 1;
}
this.refresh();
SoundManager.playCursor();
}
if (Input.isRepeated('right') || (TouchInput.isRepeated() &&
TouchInput.x > $gamePlayer.screenX() + 24)) {
this._commandIndex++;
if (this._commandIndex >= this._commandSprites.length) {
this._commandIndex = 0;
}
this.refresh();
SoundManager.playCursor();
}
if (Input.isTriggered('ok') || (TouchInput.isTriggered() &&
TouchInput.x >= $gamePlayer.screenX() - 24 &&
TouchInput.x <= $gamePlayer.screenX() + 24)) {
var sprite = this._commandSprites[this._commandIndex];
if (sprite.isEnabled()) {
switch (sprite.name()) {
case 'item':
$gameTemp.setCalledByRingCommand(true);
SceneManager.push(Scene_Item);
break;
case 'skill':
$gameTemp.setCalledByRingCommand(true);
SceneManager.push(Scene_Skill);
break;
case 'equip':
SceneManager.push(Scene_Equip);
break;
case 'status':
$gameTemp.setCalledByRingCommand(true);
SceneManager.push(Scene_Status);
break;
case 'formation':
SceneManager.push(Scene_RCFormation);
break;
case 'options':
SceneManager.push(Scene_Options);
break;
case 'save':
SceneManager.push(Scene_Save);
break;
case 'gameEnd':
SceneManager.push(Scene_GameEnd);
break;
case 'goldLevelUp':
SceneManager.push(TMParam.Scene_GoldLevelUp);
break;
}
this._commandRadius = 0;
if (openGoldWindow) {
this.parent.parent._messageWindow._goldWindow.hide();
}
$gameTemp.setRingCommandLastIndex(this._commandIndex);
$gameTemp.setRingCommandVisible(false);
SoundManager.playOk();
} else {
SoundManager.playBuzzer();
}
}
if (useEscape && this._commandRadius === 4 &&
(Input.isTriggered('menu') || TouchInput.isCancelled())) {
$gameTemp.setRingCommandVisible(false);
}
};
Sprite_TMRingCommand.prototype.refresh = function() {
for (var i = 0; i < this._commandSprites.length; i++) {
var sprite = this._commandSprites[i];
var index = (this._commandIndex - i) % this._commandSprites.length;
sprite.setIndex(index);
}
};
//-----------------------------------------------------------------------------
// Spriteset_Map
//
var _Spriteset_Map_createLowerLayer = Spriteset_Map.prototype.createLowerLayer;
Spriteset_Map.prototype.createLowerLayer = function() {
_Spriteset_Map_createLowerLayer.call(this);
this.createRingCommand();
};
Spriteset_Map.prototype.createRingCommand = function() {
this._ringCommand = new Sprite_TMRingCommand();
this.addChild(this._ringCommand);
};
//-----------------------------------------------------------------------------
// Window_MenuActor
//
var _Window_MenuActor_refresh = Window_MenuActor.prototype.refresh;
Window_MenuActor.prototype.refresh = function() {
if (!$gameTemp.calledByRingCommand()) {
_Window_MenuActor_refresh.call(this);
}
};
//-----------------------------------------------------------------------------
// Window_SkillStatus
//
var _Window_SkillStatus_refresh = Window_SkillStatus.prototype.refresh;
Window_SkillStatus.prototype.refresh = function() {
if (!$gameTemp.calledByRingCommand()) {
_Window_SkillStatus_refresh.call(this);
}
};
//-----------------------------------------------------------------------------
// Window_Status
//
var _Window_Status_refresh = Window_Status.prototype.refresh;
Window_Status.prototype.refresh = function() {
if (!$gameTemp.calledByRingCommand()) {
_Window_Status_refresh.call(this);
}
};
//-----------------------------------------------------------------------------
// Window_Message
//
var _Window_Message_updatePlacement = Window_Message.prototype.updatePlacement;
Window_Message.prototype.updatePlacement = function() {
_Window_Message_updatePlacement.call(this);
this._goldWindow.x = Graphics.boxWidth - this._goldWindow.width;
};
//-----------------------------------------------------------------------------
// Scene_Item
//
var _Scene_Item_start = Scene_Item.prototype.start;
Scene_Item.prototype.start = function() {
_Scene_Item_start.call(this);
if ($gameTemp.calledByRingCommand()) {
$gameTemp.setCalledByRingCommand(false);
this._actorWindow.refresh();
}
}
//-----------------------------------------------------------------------------
// Scene_Skill
//
var _Scene_Skill_start = Scene_Skill.prototype.start;
Scene_Skill.prototype.start = function() {
_Scene_Skill_start.call(this);
if ($gameTemp.calledByRingCommand()) {
$gameTemp.setCalledByRingCommand(false);
this._actorWindow.refresh();
this._statusWindow.refresh();
}
}
//-----------------------------------------------------------------------------
// Scene_Status
//
var _Scene_Status_start = Scene_Status.prototype.start;
Scene_Status.prototype.start = function() {
_Scene_Status_start.call(this);
if ($gameTemp.calledByRingCommand()) {
$gameTemp.setCalledByRingCommand(false);
this._statusWindow.refresh();
}
}
//-----------------------------------------------------------------------------
// Scene_Map
//
var _Scene_Map_callMenu = Scene_Map.prototype.callMenu;
Scene_Map.prototype.callMenu = function() {
if (useEscape) {
$gameTemp.setRingCommandVisible(true);
this.menuCalling = false;
} else {
_Scene_Map_callMenu.call(this);
}
};
//-----------------------------------------------------------------------------
// Scene_RCFormation
//
function Scene_RCFormation() {
this.initialize.apply(this, arguments);
}
Scene_RCFormation.prototype = Object.create(Scene_MenuBase.prototype);
Scene_RCFormation.prototype.constructor = Scene_RCFormation;
Scene_RCFormation.prototype.initialize = function() {
Scene_MenuBase.prototype.initialize.call(this);
};
Scene_RCFormation.prototype.create = function() {
Scene_MenuBase.prototype.create.call(this);
this.createStatusWindow();
};
Scene_RCFormation.prototype.start = function() {
Scene_MenuBase.prototype.start.call(this);
this._statusWindow.refresh();
this._statusWindow.setFormationMode(true);
this._statusWindow.selectLast();
this._statusWindow.activate();
this._statusWindow.setHandler('ok', this.onFormationOk.bind(this));
this._statusWindow.setHandler('cancel', this.onFormationCancel.bind(this));
};
Scene_RCFormation.prototype.createStatusWindow = function() {
this._statusWindow = new Window_MenuStatus(0, 0);
this._statusWindow.x = (Graphics.boxWidth - this._statusWindow.width) / 2;
this.addWindow(this._statusWindow);
};
Scene_RCFormation.prototype.onFormationOk = function() {
var index = this._statusWindow.index();
var actor = $gameParty.members()[index];
var pendingIndex = this._statusWindow.pendingIndex();
if (pendingIndex >= 0) {
$gameParty.swapOrder(index, pendingIndex);
this._statusWindow.setPendingIndex(-1);
this._statusWindow.redrawItem(index);
} else {
this._statusWindow.setPendingIndex(index);
}
this._statusWindow.activate();
};
Scene_RCFormation.prototype.onFormationCancel = function() {
if (this._statusWindow.pendingIndex() >= 0) {
this._statusWindow.setPendingIndex(-1);
this._statusWindow.activate();
} else {
this.popScene();
}
};
})();