// レコードの追加 public void AddRecord(int category, ServerDataDefine.PacketStructPresent data) { var contex = new PresentRecordListItemContex(); // 共通 contex.FixId = data.serial_id; contex.CaptionText00 = MainMenuUtil.GetPresentCount(data).ToString(); contex.CaptionText01 = data.message; contex.NoticeText = ""; contex.NoticeEnable = false; if ((MasterDataDefineLabel.PresentType)data.present_type == MasterDataDefineLabel.PresentType.NOTICE) { string[] notice = data.message.Split(new String[] { message_split_text }, StringSplitOptions.None); if (notice.Length >= 2) { contex.CaptionText00 = "1"; contex.CaptionText01 = notice[0]; contex.NoticeText = notice[1]; contex.NoticeEnable = true; } } contex.Category = category; // 画像はカテゴリ別に差し替え可能にする image(data, sprite => { contex.IconImage = sprite; }); // ボタンフィードバック contex.DidSelectItem += OnClickedRecordButton; // 枠色変更 contex.IconColor = IconColor[contex.Category]; contex.FrameColor = FrameColor[contex.Category]; // レコードの追加先を指定 switch ((Category)contex.Category) { case Category.Present: // アイテム受領期間までの残り時間 if (data.delete_timing == 1) { // 無期限 //contex.CaptionText02 = "ENDLESS"; } else { DateTime date = TimeUtil.ConvertServerTimeToLocalTime((ulong)data.delete_timing); contex.CaptionText02 = contex.TimeLeftText(date); } contex.Caption01_H = 110; Records0.Add(contex); break; case Category.PresentLog: contex.CaptionText02 = ""; contex.Caption01_H = 80; Records1.Add(contex); break; } }
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; } }
public void AddRecord( ItemType type, MasterDataUseItem item_master, int item_count, long use_timing, System.Action <ItemDataContext> selectAction) { ItemDataContext contex = new ItemDataContext(); contex.setupIcon(item_master); contex.ItemMaster = item_master; contex.Count = item_count; // アイテムの所持数 contex.use_timing = use_timing; //使用開始した時間 contex.DidSelectItem += selectAction; // レコードの追加先を指定 switch (type) { case ItemType.Stamina: Records0.Add(contex); break; case ItemType.RewardUp: Records1.Add(contex); break; case ItemType.Other: Records2.Add(contex); break; } }
private void closeDialog() { if (m_Dialog == null) { return; } //-------------------------------------- // 予約アイコンの更新 //-------------------------------------- EventScheduleDialog dialog = m_Dialog.GetComponent <EventScheduleDialog>(); if (dialog != null) { if (dialog.IsFuture) { EventRecordListItemContex item = Records1.Find((x) => x.FixId == dialog.FixId); if (item != null) { item.IsReserveBadge = dialog.IsOnNotif; } } } DestroyObject(m_Dialog); m_Dialog = null; IsViewContents = true; }
public void ClearRecord() { Records0.Clear(); Records1.Clear(); Records2.Clear(); Records3.Clear(); Records4.Clear(); }
// 受領バッジの更新 protected void updateBadgeText() { // 受取待ちレコードの再集計 バッジ表示で使用 NaviBadgeText0 = (int)Records0.Count(p => p.Stats == RecordListItemContex.STATS.CLEARD); NaviBadgeText1 = (int)Records1.Count(p => p.Stats == RecordListItemContex.STATS.CLEARD); NaviBadgeText2 = (int)Records2.Count(p => p.Stats == RecordListItemContex.STATS.CLEARD); NaviBadgeText3 = (int)Records3.Count(p => p.Stats == RecordListItemContex.STATS.CLEARD); }
// 全レコード数の更新 protected void updateRecordCount() { // カテゴリ毎のレコード数の再集計 RecordCount0 = (int)Records0.Count(); RecordCount1 = (int)Records1.Count(); RecordCount2 = (int)Records2.Count(); RecordCount3 = (int)Records3.Count(); }
public void ResetRecordAll() { Records0.Clear(); Records1.Clear(); Records2.Clear(); PointList.Clear(); TicketList.Clear(); KeyList.Clear(); }
/// <summary> /// プレゼントリストの更新 /// </summary> /// <param name="isUpdateLog">受け取り済みのリストの更新も行う</param> public void updatePresentList(bool isUpdateLog = true) { // プレゼント(受領前) Records0.Clear(); var present = UserDataAdmin.Instance.m_StructPresentList; if (present != null) { for (int i = 0; i < present.Length; i++) { // プレゼントリストの追加 AddRecord(0, present[i]); } // レコード数の更新 RecordCount0 = Records0.Count; RecordCount2 = Records0.Where(p => p.NoticeEnable == false).ToList().Count; } // プレゼント(受領済み) if (isUpdateLog) { StartCoroutine(WaitSentStart(() => { var serverApi = ServerDataUtilSend.SendPacketAPI_GetPresentOpenLog(); // SendStartの成功時の振る舞い serverApi.setSuccessAction(_data => { Records1.Clear(); RecvGetPresentOpenLogValue result = _data.GetResult <RecvGetPresentOpenLog>().result; if (result == null || result.present == null) { return; } for (int i = 0; i < result.present.Length; i++) { // プレゼントリストの追加 AddRecord(1, result.present[i]); } // レコード数の更新 RecordCount1 = Records1.Count; }); // SendStartの失敗時の振る舞い serverApi.setErrorAction(_date => { #if BUILD_TYPE_DEBUG Debug.Log("MASTER_HASH_GET:Error"); #endif }); serverApi.SendStart(); })); } }
// レコードの移動 private bool moveRecord(long present_id) { var contex = Records0.Find(p => p.FixId == present_id); if (contex == null) { return(false); } contex.IconColor = IconColor[1]; // 色変更 contex.FrameColor = FrameColor[1]; contex.CaptionText02 = ""; // 残り時間非表示 contex.Category = (int)Category.PresentLog; Records1.Insert(0, contex); if (Records1.Count > 30) { Records1.RemoveAt(Records1.Count - 1); } Records0.Remove(contex); return(true); }
/// <summary> /// レコードの追加 /// </summary> private void AddRecord(Category category, EventScheduleInfo data) { var contex = new EventRecordListItemContex(); contex.FixId = (int)data.m_MasterDataEvent.fix_id; contex.EventId = (int)data.m_MasterDataEvent.event_id; // アイコンイメージの設定 //クエスト情報 contex.questType = MasterDataDefineLabel.QuestType.NONE; //通常クエスト MasterDataQuest2 lastQuestMaster = MasterFinder <MasterDataQuest2> .Instance.SelectFirstWhere("where area_id = ? AND boss_chara_id > 0 AND story = 0 ORDER BY fix_id DESC" , data.m_MasterDataEvent.area_id); if (lastQuestMaster != null) { contex.questType = MasterDataDefineLabel.QuestType.NORMAL; } else { //成長ボスクエスト lastQuestMaster = MasterFinder <MasterDataChallengeQuest> .Instance.SelectFirstWhere("where area_id = ? AND boss_chara_id > 0 AND story = 0 ORDER BY fix_id DESC" , data.m_MasterDataEvent.area_id); if (lastQuestMaster != null) { contex.questType = MasterDataDefineLabel.QuestType.CHALLENGE; //タイトル差し替え setupChallengeTitle(data); } } if (lastQuestMaster == null) { // ボスが居ない場合の画像 contex.IconImage = ResourceManager.Instance.Load("divine1", ResourceType.Common); #if BUILD_TYPE_DEBUG DialogManager.Open1B_Direct("EventSchedule AddRecord", "renew_quest_masterのarea_idに下記の\nidが含まれていません。\nプランナーさんに画面を見せるか\n画面キャプチャーして報告してください。\n\n" + "area_id: " + data.m_MasterDataEvent.area_id, "common_button7", true, true). SetOkEvent(() => { }); #endif Debug.LogError("[none x.boss_chara_id > 0]: " + data.m_MasterDataEvent.area_id); } else { UnitIconImageProvider.Instance.Get( lastQuestMaster.boss_chara_id, sprite => { contex.IconImage = sprite; }); } // 予約済みアイコンの設定 if (category == Category.Furture) { LocalSaveEventNotification cEventNotification = LocalSaveManager.Instance.CheckFuncNotificationRequest((uint)data.m_MasterDataEvent.fix_id); if (cEventNotification != null) { contex.IsReserveBadge = cEventNotification.m_Push; } } // タイトル(エリア名称)表示 contex.CaptionText01 = data.m_AreaName; // 枠色変更 contex.IconColor = this.IconColor[(int)category]; contex.FrameColor = this.FrameColor[(int)category]; // ボタン挙動 contex.DidSelectItem += OnClickedRecordButton; // レコードの追加先の指定 switch (category) { case Category.Active: // 日付表示 contex.CaptionText02 = data.m_MasterDataEvent.timing_end != 0 ? string.Format(GameTextUtil.GetText("schedule_held_text"), TimingFormat(data.m_MasterDataEvent.timing_end, true)) : ""; Records0.Add(contex); break; case Category.Furture: contex.CaptionText02 = data.m_MasterDataEvent.timing_start != 0 ? string.Format(GameTextUtil.GetText("schedule_plans_text"), TimingFormat(data.m_MasterDataEvent.timing_start)) : ""; Records1.Add(contex); break; default: return; } }
public void PostSceneStart() { AndroidBackKeyManager.Instance.StackPush(gameObject, OnClickedBackButton); // ナビゲーションバー ScheduleTab1 = GameTextUtil.GetText("schedule_tab1"); ScheduleTab2 = GameTextUtil.GetText("schedule_tab2"); EmptyLabel = GameTextUtil.GetText("common_not_list"); IsViewContents = true; //--------------------------------------------- // 開催中レコード //--------------------------------------------- Records0.Clear(); List <EventScheduleInfo> activeEventInfoList = GetEvetntItemList(Category.Active); activeEventInfoList.Sort(SortExec); foreach (EventScheduleInfo item in activeEventInfoList) { AddRecord(Category.Active, item); } RecordCount0 = Records0.Count; //--------------------------------------------- // 開催予定レコード //--------------------------------------------- Records1.Clear(); List <EventScheduleInfo> furtureEventInfoList = GetEvetntItemList(Category.Furture); furtureEventInfoList.Sort(SortExec); foreach (EventScheduleInfo item in furtureEventInfoList) { AddRecord(Category.Furture, item); } RecordCount1 = Records1.Count; //--------------------------------------------- // データがある場合は詳細ダイアログを表示する //--------------------------------------------- if (MainMenuParam.m_DialogEventScheduleData != null) { EventRecordListItemContex record = Records0.Find((v) => v.FixId == MainMenuParam.m_DialogEventScheduleData.fix_id); if (record != null) { EventScheduleDialog eventDialog = CreateDetailView(record); eventDialog.IsViewJumpButton = false; } else { #if BUILD_TYPE_DEBUG string messageText = "イベントがありませんでした。\nMasterDataEvent::fix_id:" + MainMenuParam.m_DialogEventScheduleData.fix_id; Dialog dloalog = DialogManager.Open1B_Direct("デバッグ ダイアログ", messageText, "common_button7", true, true) .SetOkEvent(() => { }); #endif } MainMenuParam.m_DialogEventScheduleData = null; } }