//=============================================================================
// RPG Maker MZ - IM_FrontAnimation
//
// Copyright 2025 min-pub. All rights reserved.
// This source code or any portion thereof must not be
// reproduced or used without licensed in any manner whatsoever.
//=============================================================================
/*:
 * @target MZ
 * @plugindesc 戦闘画面アニメ最前面化
 * @author 四号戦車
 * @base PluginCommonBase
 * @base PluginUtils
 * @orderAfter PluginCommonBase
 * @orderAfter PluginUtils
 * 
 * @help IM_FrontAnimation.js
 *
 * Version: 0.0.1
 *
 * アニメーションをピクチャの前面に表示します

*
 */
(() => {
	"use strict";

    //========================================================================
    // プラグイン定義
    //========================================================================
    const pluginName = "IM_FrontAnimation";
    const script = document.currentScript;
    const param  = PluginManagerEx.createParameter(script);

    //========================================================================
    // 定数定義
    //========================================================================

    //========================================================================
    // コアスクリプト変更部 (Scene_Battle)
    //========================================================================
    const _Spriteset_Battle_prototype_createBattleField = Spriteset_Battle.prototype.createBattleField;
    Spriteset_Battle.prototype.createBattleField = function() {
        _Spriteset_Battle_prototype_createBattleField.apply(this, arguments);

        this._effectsContainer = new Sprite();
        this._effectsContainer.setFrame(0, 0, Graphics.width, Graphics.height);
        this._effectsContainer.zIndex = 100;
        this.addChild(this._effectsContainer);
    };

    //========================================================================
    // コアスクリプト変更部 (Spriteset_Map)
    //========================================================================
    const _Spriteset_Map_prototype_createTilemap = Spriteset_Map.prototype.createTilemap;
    Spriteset_Map.prototype.createTilemap = function() {
        _Spriteset_Map_prototype_createTilemap.apply(this, arguments);

        this._effectsContainer = new Sprite();
        this._effectsContainer.setFrame(0, 0, Graphics.width, Graphics.height);
        this._effectsContainer.zIndex = 100;
        this.addChild(this._effectsContainer);
    };

    //========================================================================
    // コアスクリプト変更部 (Spriteset_Base)
    //========================================================================
    const _Spriteset_Base_prototype_createUpperLayer = Spriteset_Base.prototype.createUpperLayer;
    Spriteset_Base.prototype.createUpperLayer = function() {
        _Spriteset_Base_prototype_createUpperLayer.apply(this, arguments);
        this.sortChildren();
    };

})();
