/// <summary>
    /// 開く
    /// </summary>
    public static void Open(UserInformationDialogContent contentPrefab, TurretViewer turretViewerPrefab)
    {
        var selectedTurret = UserData.Get().GetSelectedTurretData();
        var batteryData    = Masters.BatteryDB.FindById(selectedTurret.batteryMasterId);
        var barrelData     = Masters.BarrelDB.FindById(selectedTurret.barrelMasterId);
        var bulletData     = Masters.BulletDB.FindById(selectedTurret.bulletMasterId);

        var loader = new AssetListLoader();

        loader.Add <GameObject>(SharkDefine.GetBatteryPrefabPath(batteryData.key));
        loader.Add <GameObject>(SharkDefine.GetBarrelPrefabPath(barrelData.key));
        loader.Add <BulletBase>(SharkDefine.GetBulletPrefabPath(bulletData.key));

        //ロード中はタッチブロック
        SharedUI.Instance.DisableTouch();

        //ロード
        loader.Load(() =>
        {
            //タッチブロック解除
            SharedUI.Instance.EnableTouch();

            //砲台表示
            var turretViewer        = Instantiate(turretViewerPrefab, null, false);
            turretViewer.BatteryKey = batteryData.key;
            turretViewer.BarrelKey  = barrelData.key;
            turretViewer.BulletKey  = bulletData.key;
            turretViewer.Reflesh();
            turretViewer.StartShot();

            //ダイアログ開く
            var dialog = SharedUI.Instance.ShowSimpleDialog();
            dialog.closeButtonEnabled = true;
            dialog.titleText.text     = Masters.LocalizeTextDB.Get("UserInformation");

            var content = dialog.AddContent(contentPrefab);
            content.Set(loader, turretViewer);
        });
    }
    /// <summary>
    /// 開く
    /// </summary>
    public static void Open(SingleStageFishDictionaryDialogContent prefab, Master.ModelBase master)
    {
        List <FishDataEx> fishDataList = null;
        string            worldKey     = null;

        //シングルモードの場合
        if (master is Master.SingleStageData)
        {
            var stageData = master as Master.SingleStageData;

            fishDataList = Masters.SingleStageFishDB
                           .GetList()
                           .Where(x => x.stageId == stageData.id)
                           .Select(x => new FishDataEx(Masters.FishDB.FindById(x.fishId), x))
                           .ToList();

            worldKey = Masters.SingleWorldDB.FindById(stageData.worldId).key;
        }
        //マルチモードの場合
        else if (master is Master.MultiWorldData)
        {
            var worldData = master as Master.MultiWorldData;

            fishDataList = Masters.MultiStageFishDB
                           .GetList()
                           .Where(x => x.worldId == worldData.id)
                           .Select(x => new FishDataEx(Masters.FishDB.FindById(x.fishId), x))
                           .ToList();

            worldKey = worldData.key;
        }

        var loader = new AssetListLoader(fishDataList.Select(x => new AssetLoader <Sprite>(SharkDefine.GetFishThumbnailSpritePath(x.Item1.key))));

        loader.Add <Sprite>(SharkDefine.GetZukanBgSpritePath(worldKey));

        //ロード中のタッチブロック
        SharedUI.Instance.DisableTouch();

        //ロード
        loader.Load(() =>
        {
            //タッチブロック解除
            SharedUI.Instance.EnableTouch();

            //ダイアログ開く
            var dialog  = SharedUI.Instance.ShowSimpleDialog();
            var content = dialog.AddContent(prefab);
            content.Setup(dialog, fishDataList, loader, master);
        });
    }