// 購入確認ダイアログボックス表示 private void possible(ProductsListItemContex contex) { SoundUtil.PlaySE(SEID.SE_MENU_OK); Dialog newDialog = Dialog.Create(DialogType.DialogYesNo).SetStrongYes(); newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "sh126q_title"); string mainFormat = GameTextUtil.GetText("sh126q_content1"); newDialog.SetDialogText(DialogTextType.MainText, string.Format(mainFormat, contex.NameText, "", string.Format("{0:#,0}", contex.Price), string.Format("{0:#,0}", UnitPoint))); newDialog.SetDialogTextFromTextkey(DialogTextType.YesText, "common_button4"); newDialog.SetDialogTextFromTextkey(DialogTextType.NoText, "common_button5"); newDialog.SetDialogEvent(DialogButtonEventType.YES, new System.Action(() => { #if BUILD_TYPE_DEBUG Debug.Log("はい"); #endif purchase(contex); // 購入処理 })); newDialog.SetDialogEvent(DialogButtonEventType.NO, new System.Action(() => { #if BUILD_TYPE_DEBUG Debug.Log("いいえ"); #endif })); newDialog.Show(); }
public void AddRecord(int id, MasterDataPointShopProduct product) { var model = new ListItemModel((uint)id); var contex = new ProductsListItemContex(id, product, model); model.OnClicked += () => { OnClickedRecordButton(contex); }; model.OnLongPressed += () => { contex.OnClickedButton(); }; // レコードの追加先を指定 switch (product.product_type) { case MasterDataDefineLabel.PointShopType.ITEM: Records0.Add(contex); break; case MasterDataDefineLabel.PointShopType.UNIT: Records1.Add(contex); break; case MasterDataDefineLabel.PointShopType.UNIT_BUILDUP: Records2.Add(contex); break; case MasterDataDefineLabel.PointShopType.UNIT_EVOL: Records3.Add(contex); break; } }
// 購入処理 private void purchase(ProductsListItemContex contex) { #if BUILD_TYPE_DEBUG Debug.Log("購入 SendPacketAPI_PointShopPurchase"); #endif MasterDataDefineLabel.PointShopType _itemType = contex.Product.product_type; // レコード var serverApi = ServerDataUtilSend.SendPacketAPI_PointShopPurchase(contex.Product.fix_id); // SendStartの成功時の振る舞い serverApi.setSuccessAction(_data => { var purchase = _data.GetResult <ServerDataDefine.RecvPointShopPurchase>().result; if (purchase == null) { // 購入失敗 #if BUILD_TYPE_DEBUG Debug.Log("購入失敗"); #endif return; } #if BUILD_TYPE_DEBUG Debug.Log("購入処理"); #endif UserDataAdmin.Instance.m_StructPlayer = _data.UpdateStructPlayer <RecvPointShopPurchase>((PacketStructPlayer)UserDataAdmin.Instance.m_StructPlayer); UserDataAdmin.Instance.ConvertPartyAssing(); Dialog _newDialog = Dialog.Create(DialogType.DialogOK); _newDialog.SetDialogTextFromTextkey(DialogTextType.Title, "sh127q_title"); string mainText = GameTextUtil.GetText("sh127q_content1"); if (_itemType == MasterDataDefineLabel.PointShopType.ITEM) { mainText += "\n\r" + GameTextUtil.GetText("sh127q_content2"); } _newDialog.SetDialogText(DialogTextType.MainText, mainText); _newDialog.SetDialogTextFromTextkey(DialogTextType.OKText, "common_button1"); _newDialog.SetOkEvent(() => { StartCoroutine(MainMenuWebViewShowChk.PopupWebViewStart(MainMenuWebViewShowChk.PopupWebViewType.Mission)); }); _newDialog.Show(); // ユニットポイント表示の更新 UnitPoint = UserDataAdmin.Instance.m_StructPlayer.have_unit_point; }); // SendStartの失敗時の振る舞い serverApi.setErrorAction(_date => { #if BUILD_TYPE_DEBUG Debug.Log("MASTER_HASH_GET:Error"); #endif }); serverApi.SendStart(); }
// 購入不能 private void notPossible(ProductsListItemContex contex) { }
// レコードボタンのフィードバック 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); // 購入可能 }