void OpenLineUp(MasterDataStepUpGachaManage stepupgachamanage, uint assign_id) { SoundUtil.PlaySE(SEID.SE_MENU_OK); m_Canvas.enabled = false; string title = GameTextUtil.GetText("gacha_lineup_title1"); if (stepupgachamanage.special_assign_id != 0 && stepupgachamanage.special_assign_id == assign_id) { title = GameTextUtil.GetText("gacha_lineup_title2"); } // タイトルにステップ数追加 if (stepupgachamanage.step_num == 0) { // 初回ステップ title += GameTextUtil.GetText("gacha_lineup_step1"); } else { title += string.Format(GameTextUtil.GetText("gacha_lineup_step2"), stepupgachamanage.step_num); } ScratchLineUpDialog lineupdialog = ScratchLineUpDialog.Create(); lineupdialog.SetCamera(SceneObjReferMainMenu.Instance.m_MainMenuGroupCamera.GetComponent <Camera>()); lineupdialog.setup(m_GachaMaster, stepupgachamanage, assign_id, true, title); lineupdialog.m_CloseAction = () => { m_Canvas.enabled = true; }; }
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(); }
void setup() { Records.Clear(); string detailtext = ""; m_GachaMaster = MasterFinder <MasterDataGacha> .Instance.Find((int)m_GachaId); MasterDataStepUpGacha _stepUpGachaMaster = MasterDataUtil.GetMasterDataStepUpGachaFromGachaID(m_GachaMaster.fix_id); if (_stepUpGachaMaster != null) { detailtext = MasterDataUtil.GetGachaText(EMASTERDATA_SERVER.STEP_UP_GACHA, _stepUpGachaMaster.fix_id, MasterDataDefineLabel.GachaTextRefType.DETAIL); } // TOP項目の作成 StepUpDetailListContext top = new StepUpDetailListContext(); top.Banner_url = m_GachaMaster.url_img; top.DetailText = detailtext; top.IsStep = false; top.FinishLoadImageAction = () => { m_LastUpdateCount = 5; }; Records.Add(top); m_StepManageList = MasterFinder <MasterDataStepUpGachaManage> .Instance.SelectWhere("where gacha_id = ? ORDER BY step_num ASC", m_GachaId); // ステップ項目の作成 if (m_StepManageList != null) { for (int i = 0; i < m_StepManageList.Count; ++i) { MasterDataStepUpGachaManage stepManage = m_StepManageList[i]; detailtext = MasterDataUtil.GetGachaText(EMASTERDATA_SERVER.STEP_UP_GACHA_MANAGE, stepManage.fix_id, MasterDataDefineLabel.GachaTextRefType.DETAIL); StepUpDetailListContext item = new StepUpDetailListContext(); item.StepManageID = stepManage.fix_id; item.Banner_url = stepManage.url_img; item.DetailText = detailtext; item.LotExecText = GameTextUtil.GetText("Gacha_LottNum") + stepManage.total_lot_exec.ToString(); item.IsViewBornusLabel = (stepManage.present_enable == MasterDataDefineLabel.BoolType.ENABLE); item.IsViewLineUpNormal = (stepManage.normal1_assign_id > 0); item.IsViewLineUpRainbow = (stepManage.special_assign_id > 0); // ステップ数の表示 if (stepManage.step_num == 0) { // 初回ステップ item.TitleText = GameTextUtil.GetText("Gacha_step_04"); } else { item.TitleText = string.Format(GameTextUtil.GetText("Gacha_StepNum"), stepManage.step_num); } // 値段の表示 string priceText = GameTextUtil.GetText("Price_Chip"); priceText += stepManage.price; // 有料チップの場合 if (_stepUpGachaMaster.paid_tip_only == MasterDataDefineLabel.BoolType.ENABLE) { priceText += GameTextUtil.GetText("Gacha_step_03"); } item.PriceText = priceText; // おまけの表示 MasterDataPresent[] presentArray = MasterDataUtil.GetPresentMasterFromGroupID(stepManage.present_group_id); string present_message = ""; if (presentArray != null) { for (int present_count = 0; present_count < presentArray.Length; ++present_count) { if (present_count > 0) { present_message += "\n"; } string presentName = MasterDataUtil.GetPresentName(presentArray[present_count]); int presentCount = MasterDataUtil.GetPresentCount(presentArray[present_count]); present_message += presentName + " ×" + presentCount; } } item.BonusText = string.Format(GameTextUtil.GetText("Gacha_step_01"), present_message); // item.LinUpNormalButtonModel.OnClicked += () => { OpenLineUp(stepManage, stepManage.normal1_assign_id); }; item.LinUpRainbowButtonModel.OnClicked += () => { OpenLineUp(stepManage, stepManage.special_assign_id); }; item.FinishLoadImageAction = () => { m_LastUpdateCount = 5; }; Records.Add(item); } } }
public void setup(MasterDataGacha gachaMaster, MasterDataStepUpGachaManage stepUpManageMaster, uint assgin_id, bool usedTip, string title) { if (gachaMaster == null) { return; } MasterDataGacha _master = gachaMaster; if (_master.type != MasterDataDefineLabel.GachaType.STEP_UP && _master.rainbow_decide == assgin_id) { // 確定ラインナップの場合 _master = MasterFinder <MasterDataGacha> .Instance.Find(_master.rainbow_decide); if (_master == null) { return; } } TitleText = title; uint startTimeU = _master.timing_start; uint endTimeU = _master.timing_end; // 販売日程(終了日が無期限のときは表示しない) DateText = ""; if (endTimeU != 0) { string dateFormat = GameTextUtil.GetText("scratch_display2"); DateTime startTime = TimeUtil.GetDateTime(startTimeU); DateTime endTime = TimeUtil.GetDateTime(endTimeU).SubtractAMinute(); DateText = String.Format(dateFormat, startTime.ToString("yyyy/MM/dd(HH:mm)"), endTime.ToString("yyyy/MM/dd(HH:mm)")); } var guide_master_type = EMASTERDATA_SERVER.GACHA_GROUP; var gachatextreftype = MasterDataDefineLabel.GachaTextRefType.NONE; uint gacha_fix_id = 0; uint _step_id = 0; uint _assgin_id = 0; if (_master.type == MasterDataDefineLabel.GachaType.STEP_UP) { guide_master_type = EMASTERDATA_SERVER.STEP_UP_GACHA; var _stepUpGachaMaster = MasterDataUtil.GetMasterDataStepUpGachaFromGachaID(_master.fix_id); if (_stepUpGachaMaster != null) { gacha_fix_id = _stepUpGachaMaster.fix_id; } else { #if BUILD_TYPE_DEBUG string text = String.Format("StepUpGachaMaster.gacha_idに\n「{0}」が未定義です", _master.fix_id); DialogManager.Open1B_Direct("ScratchLineUpDialog", text, "common_button7", true, true). SetOkEvent(() => { }); #endif } _step_id = stepUpManageMaster.fix_id; _assgin_id = assgin_id; if (stepUpManageMaster.normal1_assign_id == assgin_id) { gachatextreftype = MasterDataDefineLabel.GachaTextRefType.NOMAL1_RATE_URL; } else if (stepUpManageMaster.normal2_assign_id == assgin_id) { gachatextreftype = MasterDataDefineLabel.GachaTextRefType.NOMAL2_RATE_URL; } else if (stepUpManageMaster.special_assign_id == assgin_id) { gachatextreftype = MasterDataDefineLabel.GachaTextRefType.SPECIAL_RATE_URL; } if (gachatextreftype != MasterDataDefineLabel.GachaTextRefType.NONE) { m_ProbabilityUrl = MasterDataUtil.GetGachaText(EMASTERDATA_SERVER.STEP_UP_GACHA_MANAGE, _step_id, gachatextreftype); } } else { guide_master_type = EMASTERDATA_SERVER.GACHA_GROUP; gacha_fix_id = _master.gacha_group_id; gachatextreftype = MainMenuParam.m_GachaRainbowDecide == assgin_id ? MasterDataDefineLabel.GachaTextRefType.SPECIAL_RATE_URL : MasterDataDefineLabel.GachaTextRefType.NOMAL1_RATE_URL; m_ProbabilityUrl = MasterDataUtil.GetGachaText(guide_master_type, gacha_fix_id, gachatextreftype); } //ガイドライン m_GuidLineText = MasterDataUtil.GetGachaText(guide_master_type, gacha_fix_id, MasterDataDefineLabel.GachaTextRefType.GUIDLINE); //確率URL if (m_ProbabilityUrl.Length > 0) { ProbabilityText = GameTextUtil.GetText("Gacha_step_05"); IsProbability = true; } else { IsProbability = false; } // ガイドラインボタン表示フラグ IsUsedTip = usedTip; // 排出ユニット一覧 ServerDataUtilSend.SendPacketAPI_GetGachaLineup((int)_master.fix_id, _step_id, _assgin_id) .setSuccessAction(_data => { SortList <LineUpListItemContex> tmpLineup = new SortList <LineUpListItemContex>(); PacketStructGachaLineup[] lineup = _data.GetResult <RecvGetGachaLineup>().result.gacha_assign_unit_list; for (int i = 0; i < lineup.Length; i++) { LineUpListItemContex newItem = new LineUpListItemContex(i, lineup[i]); //newItem.DidSelectItem += OnSelectItem; tmpLineup.Body.Add(newItem); } tmpLineup.AddSortInfo(SORT_PARAM.RATIO_UP, SORT_ORDER.DESCENDING); tmpLineup.AddSortInfo(SORT_PARAM.LIMITED, SORT_ORDER.DESCENDING); tmpLineup.AddSortInfo(SORT_PARAM.GROUP_ID, SORT_ORDER.ASCENDING); tmpLineup.AddSortInfo(SORT_PARAM.RARITY, SORT_ORDER.DESCENDING); tmpLineup.AddSortInfo(SORT_PARAM.ID, SORT_ORDER.ASCENDING); m_RecvGachaLineup = tmpLineup.Exec(SORT_OBJECT_TYPE.LINUP_LIST); scrollContent.Initialize(this); }) .setErrorAction(_date => { Close(); }) .SendStart(); //BackKey設定 AndroidBackKeyManager.Instance.StackPush(gameObject, OnCloseButton); }
// ダイアログ(特殊) ガチャラインナップ 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); }
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); }