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 _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(); }
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); }