#apply
#include "../_include.txt"
//#include "../../define/_vector2.txt"


cev[CEV_MINIGAME_TEMPLATE] .name("mg_イベント名") {
    def {
        //使用する変数の個数
        NUM_OF_VAR = 16
        NUM_OF_STR = 0
        NUM_OF_PIC = 8
        //レイヤー
        BASE_LAYER = 6
        //ピクチャパス
        PATH_PICTURE   = "path"
        //ピクチャID
        PIC_HEAD    = 1
    }

    //ピクチャの共通コマンド
    def {
        basePicCmd = bl {
            .chromakey(1)
            .mapLayer(BASE_LAYER)
            .eraseWhenTransfer
            .affectedByTint
            .affectedByFlash
            .affectedByShake
        }
    }

    defv {
        varHead = TV_MINIGAME

        ipt

        initHead

        triggerFlg
        sceneState
        sceneTimer

        varFoot
    }

    deft {
        strHead = TS_MINIGAME
    }

    //変数の範囲を見る
    commentRangeOfVariables(varFoot, TV_MINIGAME, NUM_OF_VAR, NUM_OF_STR, NUM_OF_PIC)

    //ハイスコアを更新する
    __fn _updateHighScore bl {
        _score = max(_score, score)
    }

    //シーンの状態を変える
    __fn _changeSceneState $state bl {
        v[__id(sceneState)..__id(sceneTimer)] = [$state, -1]
    }

    //------------------------------------------------------------------------------------
    //開始処理
    bl {
        //変数を初期化
        initPicturesAndVariables(PIC_HEAD, NUM_OF_PIC, TV_MINIGAME, NUM_OF_VAR, TS_MINIGAME, NUM_OF_STR)
        //BGMを記憶する
        storeAndStopBGM()
        //暗転
        fastFadeInTintOnly(1)
        @label.jump "gameLoop"
    }

    //------------------------------------------------------------------------------------
    //ゲーム処理
    @label.set "gameLoop"
    bl {

        //変数を一括で初期化する
        assignVarUsingDeclared(initHead, varFoot, 0)

        //----------------------------
        //ループ
        @loop bl {
            @wait(0)
            
            //----------------------------
            //ポーズ
            pauseProcces(TRUE, ipt, "gameEnd")
        }
    }

    //------------------------------------------------------------------------------------
    //終了する
    @label.set "gameEnd"
    bl {
        //ピクチャ、変数を初期化
        initPicturesAndVariables(PIC_HEAD, NUM_OF_PIC, TV_MINIGAME, NUM_OF_VAR, TS_MINIGAME, NUM_OF_STR)
        //BGMを再生する
        restoreBGM()
        //暗転
        fastFadeInTintOnly(1)
    }
}