async public static void game_over()
        {
            // プレイヤー操作禁止
            Time.timeScale = 0f;

            // 画面フェードを有効化(有効な間はuGUIのボタンが押せないので注意)
            GuiService.fadeEnable();

            // 画面を半フェード
            await GuiService.fadeBacground(0.5f);

            // ゲームオーバー表示
            GuiService.showGameOver();

            MessageBroker.Default.Publish <PlaySe>(new PlaySe {
                name = "GameOver"
            });

            await in_fade(game_over_room_adjust, game_over_strength_adjust, game_over_nums_adjust);

            // 敵を全部消す
            EnemyService.destroyEnemy();

            // プレイヤー復帰
            Time.timeScale = 1f;
            await PlayerService.respawn();

            Time.timeScale = 0f;

            // GameOver表示クリア
            GuiService.hideGameOver();

            // 画面のフェードを戻す
            await GuiService.fadeBacground(0f);

            // 画面フェードを無効化
            GuiService.fadeDisable();

            // ドア開ける

            // 敵スポーン開始
            EnemyService.startSpawn();

            // プレイヤー操作再開
            Time.timeScale = 1f;
        }
        async public static void next(int add_strength, int add_num)
        {
            // プレイヤー操作禁止
            Time.timeScale = 0f;

            // 画面フェードを有効化(有効な間はuGUIのボタンが押せないので注意)
            GuiService.fadeEnable();

            // 画面を半フェード
            await GuiService.fadeBacground(0.5f);

            // ステージクリア表示
            GuiService.showStageClear(_room_clear_count);

            MessageBroker.Default.Publish <PlaySe>(new PlaySe {
                name = "RoomClear"
            });

            await in_fade(default_clear_add, add_strength, add_num);

            // RoomClear表示クリア
            GuiService.hideStageClear();

            // 画面のフェードを戻す
            await GuiService.fadeBacground(0f);

            // 画面フェードを無効化
            GuiService.fadeDisable();

            // ドア開ける

            // 敵スポーン開始
            EnemyService.startSpawn();

            // プレイヤー操作再開
            Time.timeScale = 1f;
        }