Esempio n. 1
0
    // ダイアログ(特殊) ガチャラインナップ
    private void OnLineUp(Scratch.LineUp _type)
    {
        if (TutorialManager.IsExists)
        {
            MasterDataGacha isMaster = MasterFinder <MasterDataGacha> .Instance.Find((int)Context.lineupMaster[(int)_type]);

            if (isMaster == null)
            {
                return;
            }

            if (isMaster.fix_id != GlobalDefine.TUTORIAL_SCRATCH ||
                isMaster.gacha_group_id == 0)
            {
                return;
            }
        }

        string title = "";

        switch (_type)
        {
        case Scratch.LineUp.A:
            title = GameTextUtil.GetText("gacha_lineup_title1") + GameTextUtil.GetText("gacha_lineup_half1");
            break;

        case Scratch.LineUp.B:
            title = GameTextUtil.GetText("gacha_lineup_title1") + GameTextUtil.GetText("gacha_lineup_half2");
            break;

        case Scratch.LineUp.Normal:
            title = GameTextUtil.GetText("gacha_lineup_title1");
            break;

        case Scratch.LineUp.Rainbow:
            title = GameTextUtil.GetText("gacha_lineup_title2");
            break;

        default:
            break;
        }

        MasterDataStepUpGachaManage stepUpGachaManage = null;
        MasterDataGacha             master            = null;

        if (Context.gachaMaster.type == MasterDataDefineLabel.GachaType.STEP_UP)
        {
            stepUpGachaManage = MasterDataUtil.GetCurrentStepUpGachaManageMaster(Context.gachaMaster.fix_id);
            master            = Context.gachaMaster;
            // タイトルにステップ数追加
            if (stepUpGachaManage.step_num == 0)
            {
                // 初回ステップ
                title += GameTextUtil.GetText("gacha_lineup_step1");
            }
            else
            {
                title += string.Format(GameTextUtil.GetText("gacha_lineup_step2"), stepUpGachaManage.step_num);
            }
        }
        else
        {
            master = MasterFinder <MasterDataGacha> .Instance.Find((int)Context.lineupMaster[(int)_type]);
        }

        if (master == null)
        {
            return;
        }

        ScratchLineUpDialog lineupdialog = ScratchLineUpDialog.Create();

        lineupdialog.SetCamera(SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent <Camera>());
        lineupdialog.setup(master, stepUpGachaManage, Context.lineupMaster[(int)_type], Context.IsUsedTip, title);

        SoundUtil.PlaySE(SEID.SE_MENU_OK);
    }
Esempio n. 2
0
    public void setup(MasterDataGacha _master)
    {
        m_IsMoveScratchResult = false;
        m_Master      = _master;
        m_GroupMaster = MasterFinder <MasterDataGachaGroup> .Instance.Find((int)m_Master.gacha_group_id);

        if (m_Master.type == MasterDataDefineLabel.GachaType.STEP_UP)
        {
            m_StepMaster       = MasterDataUtil.GetMasterDataStepUpGachaFromGachaID(m_Master.fix_id);
            m_StepManageMaster = MasterDataUtil.GetCurrentStepUpGachaManageMaster(m_Master.fix_id);
        }

        uint startTimeU = 0;
        uint endTimeU   = 0;

        if (m_GroupMaster != null)
        {
            startTimeU = m_GroupMaster.sale_period_start;
            endTimeU   = m_GroupMaster.sale_period_end;
        }
        else
        {
            startTimeU = m_Master.timing_start;
            endTimeU   = m_Master.timing_end;
        }

        DateText = "";
        if (endTimeU != 0)
        {
            DateTime startTime = TimeUtil.GetDateTime(startTimeU);
            DateTime endTime   = TimeUtil.GetDateTime(endTimeU);
            endTime = endTime.SubtractAMinute();
            // 看板テキスト
            string kikanFormat = GameTextUtil.GetText("scratch_display1");
            DateText = string.Format(kikanFormat, startTime.ToString("yyyy/MM/dd(HH:mm)"), endTime.ToString("yyyy/MM/dd(HH:mm)"));
        }

        // 看板イメージ
        BoadImage = null;
        BoadAlpha = 0;
        if (m_Master.type == MasterDataDefineLabel.GachaType.STEP_UP)
        {
            // ステップアップスクラッチの場合は看板サイズ変更
            BoadHeight = 234;
        }

        // ラインナップボタンの設定
        setupLineupButton();

        // 詳細ボタンの表示・非表示
        m_DetailText = "";
        if (m_GroupMaster != null &&
            m_Master.type != MasterDataDefineLabel.GachaType.STEP_UP)
        {
            m_DetailText = MasterDataUtil.GetGachaText(EMASTERDATA_SERVER.GACHA_GROUP,
                                                       m_Master.gacha_group_id,
                                                       MasterDataDefineLabel.GachaTextRefType.DETAIL);
        }

        if (m_DetailText.IsNullOrEmpty() == false ||
            m_Master.type == MasterDataDefineLabel.GachaType.STEP_UP)
        {
            IsInfo = true;
        }
        else
        {
            IsInfo = false;
        }

        IsUsedTip       = false;
        IsViewMaxButton = true;

        updatePointText();

        // おまけの表示
        if (m_Master.type == MasterDataDefineLabel.GachaType.STEP_UP)
        {
            IsViewBonusLabel = (m_StepManageMaster.present_enable == MasterDataDefineLabel.BoolType.ENABLE);
            string presentName = "";
            int    presentNum  = 0;
            MasterDataPresent[] presentArray = MasterDataUtil.GetPresentMasterFromGroupID(m_StepManageMaster.present_group_id);
            if (presentArray.IsNullOrEmpty() == false)
            {
                presentName = MasterDataUtil.GetPresentName(presentArray[0]);
                presentNum  = MasterDataUtil.GetPresentCount(presentArray[0]);
            }

            string present_message = "「" + presentName + "」" + " ×" + presentNum;
            BonusText = string.Format(GameTextUtil.GetText("Gacha_Bonus"), present_message);
        }

        LoadBoadImage();
    }
Esempio n. 3
0
    public static string GetGachaPlayText(int count, MasterDataGacha _master)
    {
        string _ret    = "";
        string payItem = "";
        uint   price   = (uint)(_master.price * count);

        MasterDataDefineLabel.BoolType paid_tip_only = _master.paid_tip_only;

        switch (_master.type)
        {
        case MasterDataDefineLabel.GachaType.NONE:
            //Money使用
            payItem = "Money";
            break;

        case MasterDataDefineLabel.GachaType.RARE:
        case MasterDataDefineLabel.GachaType.EVENT:
        case MasterDataDefineLabel.GachaType.TUTORIAL:
            // チップ使用
            payItem = GameTextUtil.GetText("common_text6");
            //有料チップ専用なら有料チップ数を設定
            if (paid_tip_only == MasterDataDefineLabel.BoolType.ENABLE)
            {
                payItem = GameTextUtil.GetText("common_text13");
            }
            break;

        case MasterDataDefineLabel.GachaType.NORMAL:
        case MasterDataDefineLabel.GachaType.LUNCH:
            // フレンドポイント使用
            payItem = GameTextUtil.GetText("common_text1");
            break;

        case MasterDataDefineLabel.GachaType.TICKET:
            break;

        case MasterDataDefineLabel.GachaType.EVENT_POINT:
            break;

        case MasterDataDefineLabel.GachaType.ITEM_POINT:
            // アイテムポイント使用
            payItem = MasterDataUtil.GetItemNameFromGachaMaster(_master);
            break;

        case MasterDataDefineLabel.GachaType.STEP_UP:
            MasterDataStepUpGacha stepMaster = MasterDataUtil.GetMasterDataStepUpGachaFromGachaID(_master.fix_id);
            paid_tip_only = stepMaster.paid_tip_only;

            // チップ使用
            payItem = GameTextUtil.GetText("common_text6");
            //有料チップ専用なら有料チップ数を設定
            if (paid_tip_only == MasterDataDefineLabel.BoolType.ENABLE)
            {
                payItem = GameTextUtil.GetText("common_text13");
            }
            break;

        default:
            break;
        }
        uint itemVal = 0;

        //--------------------------------
        // ガチャタイプにあわせて引ける回数を計算
        //--------------------------------
        switch (_master.type)
        {
        // 友情ガチャ
        case MasterDataDefineLabel.GachaType.NORMAL:
        {
            itemVal = UserDataAdmin.Instance.m_StructPlayer.have_friend_pt;
        }
        break;

        // レア
        case MasterDataDefineLabel.GachaType.RARE:
        // イベント(コラボ)
        case MasterDataDefineLabel.GachaType.EVENT:
        // チュートリアル
        case MasterDataDefineLabel.GachaType.TUTORIAL:
        // イベント2
        case MasterDataDefineLabel.GachaType.EVENT_2:
        {
            itemVal = UserDataAdmin.Instance.m_StructPlayer.have_stone;
            //有料チップ専用なら有料チップ数を設定
            if (paid_tip_only == MasterDataDefineLabel.BoolType.ENABLE)
            {
                itemVal = UserDataAdmin.Instance.m_StructPlayer.have_stone_pay;
            }
        }
        break;

        // ランチ
        case MasterDataDefineLabel.GachaType.LUNCH:
        {
            itemVal = 1;
        }
        break;

        case MasterDataDefineLabel.GachaType.EVENT_POINT:
        {
            itemVal = 1;
        }
        break;

        case MasterDataDefineLabel.GachaType.ITEM_POINT:
        {
            itemVal = UserDataAdmin.Instance.GetItemPoint(_master.cost_item_id);
        }
        break;

        // ステップアップ
        case MasterDataDefineLabel.GachaType.STEP_UP:
        {
            MasterDataStepUpGachaManage stepManageMaster = MasterDataUtil.GetCurrentStepUpGachaManageMaster(_master.fix_id);
            price   = stepManageMaster.price;
            itemVal = UserDataAdmin.Instance.m_StructPlayer.have_stone;
            //有料チップ専用なら有料チップ数を設定
            if (paid_tip_only == MasterDataDefineLabel.BoolType.ENABLE)
            {
                itemVal = UserDataAdmin.Instance.m_StructPlayer.have_stone_pay;
            }
        }
        break;
        }
        if (count == 1)
        {
            string mainFormat = GetText("sc146q_content1");
            _ret = string.Format(mainFormat, payItem, price, itemVal);
        }
        else
        {
            string mainFormat = GetText("sc147q_content");
            _ret = string.Format(mainFormat, payItem, price, itemVal, count);
        }

#if BUILD_TYPE_DEBUG
        if (DebugOption.Instance.disalbeDebugMenu == false)
        {
            _ret += "\n\r" + "\n\r<color=#FF0000>デバッグ表示</color>\n\r";
            _ret += "スクラッチID[ " + _master.fix_id + " ]";
        }
#endif

        return(_ret);
    }