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(); } }
// レコードボタンのフィードバック 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); // 購入可能 }
//---------------------------------------------------------------------------- /*! * @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; }
/*==========================================================================*/ /* 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; }