Пример #1
0
 private void openDialogUnitOver()
 {
     if (UserDataAdmin.Instance.m_StructPlayer.extend_unit < MasterDataUtil.GetMasterDataGlobalParamFromID(GlobalDefine.GLOBALPARAMS_UNIT_MAX_EXTEND))
     {
         // ユニット所持枠購入上限内
         Dialog newDialog = Dialog.Create(DialogType.DialogOK);
         newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "kk116q_title");
         newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "kk116q_content");
         newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
         newDialog.SetDialogObjectEnabled(DialogObjectType.VerticalButtonList, true);
         newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_01"), () =>
         {
             //ユニット枠拡張
             StoreDialogManager.Instance.OpenDialogUnitExtend();
         });
         newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_02"), null, () =>
         {
             if (MainMenuManager.HasInstance)
             {
                 MainMenuParam.m_BuildupBaseUnitUniqueId = 0;
                 MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_BUILDUP, false, false);
             }
         });
         newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_03"), null, () =>
         {
             if (MainMenuManager.HasInstance)
             {
                 MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_SALE, false, false);
             }
         });
         newDialog.Show();
     }
     else
     {
         Dialog newDialog = Dialog.Create(DialogType.DialogOK);
         newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "kk116q_title");
         newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "error_response_content71");
         newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
         newDialog.SetDialogObjectEnabled(DialogObjectType.VerticalButtonList, true);
         newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_02"), null, () =>
         {
             if (MainMenuManager.HasInstance)
             {
                 MainMenuParam.m_BuildupBaseUnitUniqueId = 0;
                 MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_BUILDUP, false, false);
             }
         });
         newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_03"), null, () =>
         {
             if (MainMenuManager.HasInstance)
             {
                 MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_SALE, false, false);
             }
         });
         newDialog.Show();
     }
 }
Пример #2
0
    // レコードボタンのフィードバック
    public void OnClickedRecordButton(ProductsListItemContex contex)
    {
        // 値段(ユニットポイント)チェック
        if (contex.Price > UnitPoint)
        {
            SoundUtil.PlaySE(SEID.SE_MENU_RET);
            Dialog newDialog = Dialog.Create(DialogType.DialogOK);
            newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "sh126q_title");
            newDialog.SetDialogText(DialogTextType.MainText, string.Format(GameTextUtil.GetText("sh126q_content2"), contex.NameText));
            newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
            newDialog.SetDialogEvent(DialogButtonEventType.OK, new System.Action(() =>
            {
#if BUILD_TYPE_DEBUG
                Debug.Log("OK");
#endif
            }));
            newDialog.Show();

            return;
        }

        //-----------------------------------------------------------
        // アイテム所持数チェック
        //-----------------------------------------------------------
        if (contex.Product.product_type == MasterDataDefineLabel.PointShopType.ITEM)
        {
            PacketStructUseItem[] items = UserDataAdmin.Instance.m_StructPlayer.item_list;
            PacketStructUseItem   item  = Array.Find(items, (v) => v.item_id == contex.Product.product_param1);

            if (item != null && item.item_cnt >= GlobalDefine.VALUE_MAX_ITEM)
            {
                SoundUtil.PlaySE(SEID.SE_MENU_RET);
                Dialog newDialog = Dialog.Create(DialogType.DialogOK);
                newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "point_upperlimit_item_title");
                newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "point_upperlimit_item_content");
                newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
                newDialog.SetDialogEvent(DialogButtonEventType.OK, new System.Action(() =>
                {
                }));
                newDialog.Show();

                return;
            }
        }

        //-----------------------------------------------------------
        // ユニット所持数チェック
        //-----------------------------------------------------------
        if (contex.Product.product_type == MasterDataDefineLabel.PointShopType.UNIT ||
            contex.Product.product_type == MasterDataDefineLabel.PointShopType.UNIT_EVOL ||
            contex.Product.product_type == MasterDataDefineLabel.PointShopType.UNIT_BUILDUP ||
            contex.Product.product_type == MasterDataDefineLabel.PointShopType.UNIT_LINK)
        {
            int unitMax   = (int)UserDataAdmin.Instance.m_StructPlayer.total_unit;
            int unitTotal = 0;
            if (UserDataAdmin.Instance.m_StructPlayer.unit_list != null)
            {
                unitTotal = UserDataAdmin.Instance.m_StructPlayer.unit_list.Length;
            }

            if (unitTotal >= unitMax)
            {
                bool bUnitFull = (UserDataAdmin.Instance.m_StructPlayer.total_unit >= MasterDataUtil.GetUserUnitMax()); // ユニット所持枠上限
                if (bUnitFull == false)
                {
                    // 有料拡張分も見る
                    bUnitFull = (UserDataAdmin.Instance.m_StructPlayer.extend_unit >= MasterDataUtil.GetMasterDataGlobalParamFromID(GlobalDefine.GLOBALPARAMS_UNIT_MAX_EXTEND));
                }

                SoundUtil.PlaySE(SEID.SE_MENU_RET);

                if (bUnitFull == false)
                {
                    // ユニット所持枠購入上限内
                    Dialog newDialog = Dialog.Create(DialogType.DialogOK);
                    newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "point_upperlimit_unit_title");
                    newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "point_upperlimit_unit_content");
                    newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
                    newDialog.SetDialogObjectEnabled(DialogObjectType.VerticalButtonList, true);
                    newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_01"), () =>
                    {
                        //ユニット枠拡張
                        StoreDialogManager.Instance.OpenDialogUnitExtend();
                    });
                    newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_02"), () =>
                    {
                        if (MainMenuManager.HasInstance)
                        {
                            MainMenuParam.m_BuildupBaseUnitUniqueId = 0;
                            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_BUILDUP, false, false);
                        }
                    });
                    newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_03"), () =>
                    {
                        if (MainMenuManager.HasInstance)
                        {
                            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_SALE, false, false);
                        }
                    });
                    newDialog.Show();
                }
                else
                {
                    Dialog newDialog = Dialog.Create(DialogType.DialogOK);
                    newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "point_upperlimit_unit_title");
                    newDialog.SetDialogTextFromTextkey(DialogTextType.MainText, "sc256q_content2");
                    newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1");
                    newDialog.SetDialogObjectEnabled(DialogObjectType.VerticalButtonList, true);
                    newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_02"), () =>
                    {
                        if (MainMenuManager.HasInstance)
                        {
                            MainMenuParam.m_BuildupBaseUnitUniqueId = 0;
                            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_BUILDUP, false, false);
                        }
                    });
                    newDialog.addVerticalButton(GameTextUtil.GetText("icon_button_03"), () =>
                    {
                        if (MainMenuManager.HasInstance)
                        {
                            MainMenuManager.Instance.AddSwitchRequest(MAINMENU_SEQ.SEQ_UNIT_SALE, false, false);
                        }
                    });
                    newDialog.Show();
                }
                return;
            }
        }

        possible(contex);       // 購入可能
    }
Пример #3
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	処理開始
     */
    //----------------------------------------------------------------------------
    public override void StartProcess(MainMenuShop cMenuSeqShopRoot)
    {
        //--------------------------------
        // ステップがNONE以外の場合は何もしない
        //--------------------------------
        if (m_BuyStep != STORE_TIP_SEQUENCE.NONE)
        {
            return;
        }
        m_DialogChoice = null;
        m_bNextBuyTip  = false;

        //--------------------------------
        // パッチ取得用
        // @add Developer 016/04/20 v340
        //--------------------------------
        m_MenuSeqShopRoot = cMenuSeqShopRoot;

        //--------------------------------
        // チップの保持数及びフレンド枠の状態を取得
        //--------------------------------
        uint unHaveTip   = 0;
        bool bFriendFull = true;

        if (UserDataAdmin.Instance != null &&
            UserDataAdmin.Instance.m_StructPlayer != null)
        {
            // チップ
            unHaveTip = UserDataAdmin.Instance.m_StructPlayer.have_stone;
            // フレンド枠数
            bFriendFull = (UserDataAdmin.Instance.m_StructPlayer.total_friend >= MasterDataUtil.GetUserFriendMax());
            if (bFriendFull == false)
            {
                // 有料拡張分も見る
                bFriendFull = (UserDataAdmin.Instance.m_StructPlayer.extend_friend >= MasterDataUtil.GetMasterDataGlobalParamFromID(GlobalDefine.GLOBALPARAMS_FRIEND_MAX_EXTEND));
            }
        }

        //--------------------------------
        // テキストにフレンド現在数/最大数を表示するため取得
        //--------------------------------
        // 現在フレンド数
        uint unFriendNow = 0;

        if (UserDataAdmin.Instance.m_StructFriendList != null)
        {
            for (int i = 0; i < UserDataAdmin.Instance.m_StructFriendList.Length; i++)
            {
                if (UserDataAdmin.Instance.m_StructFriendList[i] == null)
                {
                    continue;
                }

                // 成立している物のみ
                if (UserDataAdmin.Instance.m_StructFriendList[i].friend_state == (int)FRIEND_STATE.FRIEND_STATE_SUCCESS)
                {
                    unFriendNow++;
                }
            }
        }
        // 文字列化
        string stFriendNow = unFriendNow.ToString();

        if (unFriendNow > UserDataAdmin.Instance.m_StructPlayer.total_friend)
        {
            // フレンド枠最大数よりフレンド数の方が大きければ赤文字
            stFriendNow = "<color=#ff0000>" + unFriendNow.ToString() + "</color>";
        }
        uint unRestExtensionNum = (uint)(MasterDataUtil.GetMasterDataGlobalParamFromID(GlobalDefine.GLOBALPARAMS_FRIEND_MAX_EXTEND) - UserDataAdmin.Instance.m_StructPlayer.extend_friend);
        //--------------------------------
        // 現状のフレンド枠数をテキストとして表示
        //--------------------------------
        string strMainMsg = string.Format(UnityUtil.GetText("sh137q_content"), stFriendNow, UserDataAdmin.Instance.m_StructPlayer.total_friend, unRestExtensionNum);

        // 最大値ではない場合「後何回追加できるか」を表示する
        if (bFriendFull == false)
        {
            //strMainMsg += "\n" + string.Format(UnityUtil.GetText("SHOP_DIALOG_FRIEND_REMAINING"), unRestExtensionNum);
        }

        //--------------------------------
        // チップの有無、フレンド拡張可能かによって表示物を変える
        //--------------------------------
        if (bFriendFull == true)
        {
            //--------------------------------
            // 既に拡張枠最大に到達している
            // →これ以上拡張できないことを示す
            //--------------------------------
            // エラーメッセージを付与して出す
            strMainMsg = UnityUtil.GetText("sh138q_content");
            // ダイアログ表示
            m_DialogChoice = DialogManager.Open1B_Direct(GameTextUtil.GetText("sh138q_title"), strMainMsg, "common_button6", true, true);
            // エラー対策に移動
            m_BuyStep = STORE_TIP_SEQUENCE.ERROR;
        }
        else if (unHaveTip == 0)
        {
            //--------------------------------
            // チップを所持していない場合
            // →魔法石購入を促してそのまま終了
            //--------------------------------
            // エラーメッセージを付与して出す
            strMainMsg = UnityUtil.GetText("sh140q_content");
            // ダイアログ表示
            m_DialogChoice = DialogManager.Open2B_Direct(GameTextUtil.GetText("sh140q_title"), strMainMsg, "common_button4", "common_button5", true, true).SetStrongYes();
            // エラー対策に移動
            m_BuyStep = STORE_TIP_SEQUENCE.NEXT_BUY_TIP;
        }
        else
        {
            //--------------------------------
            // チップがある
            // →チップ使用判定へ移動
            //--------------------------------
            m_DialogChoice = DialogManager.Open2B_Direct(GameTextUtil.GetText("sh137q_title"), strMainMsg, "common_button4", "common_button5", true, true).SetStrongYes();
            // 使用意思確認に移動
            m_BuyStep = STORE_TIP_SEQUENCE.CHOICE;
        }

        m_FinishDialog = null;
    }
Пример #4
0
    /*==========================================================================*/
    /*		var																	*/
    /*==========================================================================*/

    /*==========================================================================*/
    /*		func																*/
    /*==========================================================================*/
    //----------------------------------------------------------------------------

    /*!
     *          @brief	処理開始
     */
    //----------------------------------------------------------------------------
    public override void StartProcess(MainMenuShop cMenuSeqShopRoot)
    {
        //--------------------------------
        // ステップがNONE以外の場合は何もしない
        //--------------------------------
        if (m_BuyStep != STORE_TIP_SEQUENCE.NONE)
        {
            return;
        }
        m_DialogChoice = null;
        m_bNextBuyTip  = false;

        //--------------------------------
        // パッチ取得用
        // @add Developer 016/04/20 v340
        //--------------------------------
        m_MenuSeqShopRoot = cMenuSeqShopRoot;

        //--------------------------------
        // チップの保持数及び所持ユニット枠の状態を取得
        //--------------------------------
        uint unHaveTip = 0;
        bool bUnitFull = true;

        if (UserDataAdmin.Instance != null &&
            UserDataAdmin.Instance.m_StructPlayer != null)
        {
            // チップ
            unHaveTip = UserDataAdmin.Instance.m_StructPlayer.have_stone;
            // 所持ユニット枠数
            bUnitFull = (UserDataAdmin.Instance.m_StructPlayer.total_unit >= MasterDataUtil.GetUserUnitMax());
            if (bUnitFull == false)
            {
                // 有料拡張分も見る
                bUnitFull = (UserDataAdmin.Instance.m_StructPlayer.extend_unit >= MasterDataUtil.GetMasterDataGlobalParamFromID(GlobalDefine.GLOBALPARAMS_UNIT_MAX_EXTEND));
            }
        }

        //--------------------------------
        // テキストにユニット獲得枠現在数/最大数を表示するため取得
        //--------------------------------
        // 現在フレンド数
        // 所持ユニット
        string stUnitNow = UserDataAdmin.Instance.m_StructPlayer.unit_list.Length.ToString();

        if (UserDataAdmin.Instance.m_StructPlayer.unit_list.Length > UserDataAdmin.Instance.m_StructPlayer.total_unit)
        {
            // 所持ユニット枠最大数より所持ユニット数の方が大きければ赤文字
            stUnitNow = "<color=#ff0000>" + UserDataAdmin.Instance.m_StructPlayer.unit_list.Length.ToString() + "</color>";
        }
        uint unRestExtensionNum = (uint)(MasterDataUtil.GetMasterDataGlobalParamFromID(GlobalDefine.GLOBALPARAMS_UNIT_MAX_EXTEND) - UserDataAdmin.Instance.m_StructPlayer.extend_unit);
        //--------------------------------
        // 現状のユニット枠数をテキストとして表示
        //--------------------------------
        string strMainMsg = string.Format(GameTextUtil.GetText("sh128q_content"), stUnitNow, UserDataAdmin.Instance.m_StructPlayer.total_unit, unRestExtensionNum);

        // 最大値ではない場合「後何回追加できるか」を表示する
        if (bUnitFull == false)
        {
            //strMainMsg += "\n" + string.Format(UnityUtil.GetText("SHOP_DIALOG_UNIT_REMAINING"), unRestExtensionNum);
        }

        //--------------------------------
        // チップの有無、所持ユニット枠拡張可能かによって表示物を変える
        //--------------------------------
        if (bUnitFull == true)
        {
            //--------------------------------
            // 既に拡張枠最大に到達している
            // →これ以上拡張できないことを示す
            //--------------------------------
            // エラーメッセージを付与して出す
            strMainMsg = GameTextUtil.GetText("sh129q_content");
            // ダイアログ表示
            m_DialogChoice = DialogManager.Open1B_Direct(GameTextUtil.GetText("sh129q_title"), strMainMsg, "common_button1", true, true);
            // エラー対策に移動
            m_BuyStep = STORE_TIP_SEQUENCE.ERROR;
        }
        else if (unHaveTip == 0)
        {
            //--------------------------------
            // チップを所持していない場合
            // →魔法石購入へ遷移するか確認
            //--------------------------------
            // エラーメッセージを付与して出す
            strMainMsg = GameTextUtil.GetText("sh131q_content");
            // ダイアログ表示
            m_DialogChoice = DialogManager.Open2B_Direct(GameTextUtil.GetText("sh131q_title"), strMainMsg, "common_button4", "common_button5", true, true).SetStrongYes();
            // チップ購入確認に移動
            m_BuyStep = STORE_TIP_SEQUENCE.NEXT_BUY_TIP;
        }
        else
        {
            //--------------------------------
            // チップがある
            // →チップ使用判定へ移動
            //--------------------------------
            m_DialogChoice = DialogManager.Open2B_Direct(GameTextUtil.GetText("sh128q_title"), strMainMsg, "common_button4", "common_button5", true, true).SetStrongYes();
            // 使用意思確認に移動
            m_BuyStep = STORE_TIP_SEQUENCE.CHOICE;
        }

        m_FinishDialog = null;
    }