/// <summary> /// 期間情報更新 /// </summary> /// <param name="data"></param> private void updateTerm(ChallengeSelect.EventData data) { if (TimeEventManager.Instance.ChkEventActive(data.eventMaster.event_id) == true) { //開催中 MasterDataEvent eventData = MasterDataUtil.GetMasterDataEventFromID(data.eventMaster.event_id); DateTime startTime = TimeUtil.GetDateTime(eventData.timing_start); string kikanFormat = GameTextUtil.GetText("growth_boss_01"); if (eventData.timing_end != 0) { DateTime endTime = TimeUtil.GetDateTime(eventData.timing_end); endTime = endTime.SubtractAMinute(); m_ChallengeSelect.Time = string.Format(kikanFormat, startTime.ToString("yyyy/MM/dd(HH:mm)"), endTime.ToString("yyyy/MM/dd(HH:mm)")); } else { m_ChallengeSelect.Time = string.Format(kikanFormat, startTime.ToString("yyyy/MM/dd(HH:mm)"), ""); } m_ChallengeSelect.IsActiveSkipButton = true; m_ChallengeSelect.IsActiveOkButton = true; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("challenge_quest_marquee_open")); } else { //イベント終了 if (data.eventMaster.receiving_end != 0) { DateTime endTime = TimeUtil.GetDateTime(data.eventMaster.receiving_end); endTime = endTime.SubtractAMinute(); string kikanFormat = GameTextUtil.GetText("growth_boss_02"); m_ChallengeSelect.Time = string.Format(kikanFormat, endTime.ToString("yyyy/MM/dd(HH:mm)")); } else { m_ChallengeSelect.Time = GameTextUtil.GetText("growth_boss_03"); } m_ChallengeSelect.IsActiveSkipButton = false; m_ChallengeSelect.IsActiveOkButton = false; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("challenge_quest_marquee_end")); } }
private void setupPoint() { if (UserDataAdmin.Instance.m_StructPlayer == null) { return; } List <ItemKeyContext> tmpList = new List <ItemKeyContext>(); PacketStructUseItem[] items = UserDataAdmin.Instance.m_StructPlayer.item_list; // レコード追加 for (int id = 0; id < items.Length; id++) { //所持していない if (items[id].item_cnt == 0) { continue; } //マスターに存在するか MasterDataUseItem itemMaster = MasterFinder <MasterDataUseItem> .Instance.Find((int)items[id].item_id); if (itemMaster == null) { continue; } //チケットかどうか if (itemMaster.gacha_event_id == 0) { continue; } //対象の有効なガチャが存在する MasterDataGacha gachaMaster = MasterDataUtil.GetActiveItemPointGachaMaster(itemMaster.fix_id); if (gachaMaster == null) { continue; } //イベントマスター取得 MasterDataEvent eventMaster = MasterDataUtil.GetMasterDataEventFromID(itemMaster.gacha_event_id); if (eventMaster == null) { continue; } //期間外 if (TimeEventManager.Instance.ChkEventActive(eventMaster.event_id) == false) { continue; } //ガチャチケット ItemKeyContext _newTicket = new ItemKeyContext(); _newTicket.Category = ItemKeyContext.CategoryType.ScratchTicket; _newTicket.Name = itemMaster.item_name; _newTicket.Count = items[id].item_cnt.ToString(); _newTicket.setupIcon(itemMaster); _newTicket.itemMaster = itemMaster; _newTicket.DidSelectItemKey = OnSelectKey; _newTicket.IsViewTime = false; _newTicket.Time = ""; _newTicket.timing_end = eventMaster.timing_end; if (eventMaster.timing_end != 0) { string timeFormat = GameTextUtil.GetText("common_expirationdate"); DateTime endTime = TimeUtil.GetDateTime(eventMaster.timing_end).SubtractAMinute(); _newTicket.Time = string.Format(timeFormat, endTime.ToString("yyyy/MM/dd (HH:mm)")); _newTicket.IsViewTime = true; m_Item.PointList.Add(_newTicket); } else { //期間が無限のチケットは最後に追加するので一時退避 tmpList.Add(_newTicket); } } //期間でソート m_Item.PointList.Sort((a, b) => (int)a.timing_end - (int)b.timing_end); //友情ポイント・ユニットポイント追加 { ItemKeyContext _newFP = new ItemKeyContext(); _newFP.Category = ItemKeyContext.CategoryType.FriendPoint; _newFP.IconImage = ResourceManager.Instance.Load("friend_point_icon", ResourceType.Common); _newFP.Name = GameTextUtil.GetText("common_text1"); _newFP.Count = UserDataAdmin.Instance.m_StructPlayer.have_friend_pt.ToString(); _newFP.IsViewTime = false; _newFP.Time = ""; _newFP.DidSelectItemKey = OnSelectKey; m_Item.PointList.Add(_newFP); ItemKeyContext _newUP = new ItemKeyContext(); _newUP.Category = ItemKeyContext.CategoryType.UnitPoint; _newUP.IconImage = ResourceManager.Instance.Load("mm_item_unitpoint", ResourceType.Common); _newUP.Name = GameTextUtil.GetText("common_text2"); _newUP.Count = UserDataAdmin.Instance.m_StructPlayer.have_unit_point.ToString(); _newUP.IsViewTime = false; _newUP.Time = ""; _newUP.DidSelectItemKey = OnSelectKey; m_Item.PointList.Add(_newUP); } //期間が無限のチケット追加 m_Item.PointList.AddRange(tmpList); }
public void GetMasterDataEventFromID() { MasterDataEvent resGetMasterDataEventFromID = MasterDataUtil.GetMasterDataEventFromID(unEventID); Debug.Log("GetMasterDataEventFromID(" + unEventID + ") " + System.Text.RegularExpressions.Regex.Unescape(JsonMapper.ToJson(resGetMasterDataEventFromID))); }
private void setupQuest() { m_QuestSelect.isEndShowList = false; m_QuestSelect.QuestList.Clear(); m_questButtons.Clear(); if (m_SelectAreaIndex >= m_QuestSelect.EpisodeList.Count) { return; } EpisodeDataContext episodeData = m_QuestSelect.EpisodeList[m_SelectAreaIndex]; MasterDataArea areaMaster = episodeData.master; if (areaMaster == null) { return; } List <MasterDataQuest2> quest2List = MasterFinder <MasterDataQuest2> .Instance.SelectWhere("where area_id = ?", areaMaster.fix_id); quest2List.Sort((a, b) => (int)a.fix_id - (int)b.fix_id); MasterDataQuest2[] quest2Array = quest2List.ToArray(); if (quest2Array == null) { return; } MainMenuParam.m_QuestStaminaAmend = (float)episodeData.amend.m_QuestSelectAreaAmendStamina / 100.0f; //クエストリスト更新 { uint _count = 0; uint _notClearCount = 0; bool bSkip = false; for (int i = 0; i < quest2Array.Length; i++) { uint _index = _count; MasterDataQuest2 _masterQuest2 = quest2Array[i]; if (_masterQuest2.active != MasterDataDefineLabel.BoolType.ENABLE) { continue; } if (_masterQuest2.story != 0 && _notClearCount != 0) { //未クリアクエスト以降のシナリオはスキップ bSkip = true; } else if (_masterQuest2.story == 0 && !ServerDataUtil.ChkRenewBitFlag(ref UserDataAdmin.Instance.m_StructPlayer.flag_renew_quest_clear, quest2Array[i].fix_id)) { //1つめの未クリアは表示 if (_notClearCount != 0) { bSkip = true; } _notClearCount++; } if (bSkip) { continue; } var model = new ListItemModel(_index); model.OnClicked += () => { SelectQuest(_index); }; m_questButtons.Add(model); QuestDataContext newQuest = new QuestDataContext(model); newQuest.master = _masterQuest2; newQuest.area_category_id = m_MasterAreaCategory.fix_id; newQuest.boss = MasterDataUtil.GetGuerrillaBossParamFromQuestID(_masterQuest2.fix_id); newQuest.m_QuestId = _index + 1; if (_masterQuest2.story == 0) { newQuest.m_QuestType = QuestDataContext.ExecType.Quest2; newQuest.IconLabel = GameTextUtil.GetText("questselect_text1"); { //詳細情報テキスト差し替え MasterDataQuestAppearance[] questAppearance = MasterFinder <MasterDataQuestAppearance> .Instance.SelectWhere("where area_category_id = ?", MainMenuParam.m_QuestSelectAreaCateID).ToArray(); if (questAppearance.IsNullOrEmpty() == false) { // newQuest.IconLabel = GameTextUtil.GetText(questAppearance[0].boss_text_key); // テキストキーではなく直接テキストが入っている newQuest.IconLabel = questAppearance[0].boss_text_key; } } UnitIconImageProvider.Instance.Get( _masterQuest2.boss_chara_id, sprite => { newQuest.IconImage = sprite; }); } else { newQuest.m_QuestType = QuestDataContext.ExecType.Event; newQuest.IconLabel = GameTextUtil.GetText("questselect_text2"); newQuest.IconImage = ResourceManager.Instance.Load("storyicon"); } string titleFormat = GameTextUtil.GetText("questselect_questname1"); if (newQuest.boss != null) { titleFormat = GameTextUtil.GetText("questselect_questname2"); } newQuest.Title = string.Format(titleFormat, _masterQuest2.quest_name); newQuest.Index = _index; newQuest.SelectImage = m_SelectSprite; // newQuest.BackGroundTexture = m_QuestSelect.BackGroundImage.texture; newQuest.IsActivePoint = false; switch (_masterQuest2.consume_type) { case 1: //スタミナ newQuest.IsActivePoint = true; newQuest.PointLabel = GameTextUtil.GetText("questselect_text3"); if (episodeData.amend.m_QuestSelectAreaAmendStamina == 100) { newQuest.m_Point = (uint)_masterQuest2.consume_value; newQuest.Point = string.Format("{0}", _masterQuest2.consume_value); } else { uint point = (uint)((float)_masterQuest2.consume_value * ((float)episodeData.amend.m_QuestSelectAreaAmendStamina / 100.0f)); newQuest.m_Point = point; newQuest.Point = string.Format(GameTextUtil.GetText("stmina_bahutext"), point); } //スコア倍率アップ newQuest.AmendText = ""; if (_masterQuest2.story == 0 && _masterQuest2.consume_value != 0 && episodeData.amend.m_FlagAmendScore) { float score_rate = (float)episodeData.amend.m_QuestSelectAreaAmendScore / 100.0f; newQuest.AmendText = string.Format("スコア {0:0.0}倍", score_rate); } break; case 2: //Key { newQuest.IsActivePoint = true; newQuest.m_Point = (uint)_masterQuest2.consume_value; string strFormat = GameTextUtil.GetText("questselect_text5"); MasterDataQuestKey _keyMaster = MasterDataUtil.GetMasterDataQuestKeyFromAreaCategoryID(m_MasterAreaCategory.fix_id); if (_keyMaster != null) { newQuest.PointLabel = string.Format(strFormat, _keyMaster.key_name); } newQuest.Point = string.Format("{0}", _masterQuest2.consume_value); } break; case 3: //Ticket newQuest.IsActivePoint = true; newQuest.m_Point = (uint)_masterQuest2.consume_value; newQuest.PointLabel = GameTextUtil.GetText("questselect_text4"); newQuest.Point = string.Format("{0}", _masterQuest2.consume_value); break; } newQuest.SetFlag(quest2Array[i].fix_id); m_QuestSelect.QuestList.Add(newQuest); _count++; } //------------------------------------------------- // イベントスケジュールがあるが検索 //------------------------------------------------- MasterDataEvent eventMaster = MasterDataUtil.GetMasterDataEventFromID(areaMaster.event_id); m_QuestSelect.m_EventMaster = eventMaster; if (eventMaster != null && eventMaster.event_schedule_show == MasterDataDefineLabel.BoolType.ENABLE) { m_QuestSelect.IsViewDetailButton = true; } else { m_QuestSelect.IsViewDetailButton = false; } } // View更新 foreach (var episodeButton in m_episodeButtons) { episodeButton.HideArrow(); } // インジケーターを表示 if (LoadingManager.Instance != null) { LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.ASSETBUNDLE); } m_QuestSelect.Show(episodeData.masterDataAreaCategory.fix_id, () => { foreach (var questButton in m_questButtons) { questButton.Appear(); } foreach (var episodeButton in m_episodeButtons) { if (episodeButton.isSelected) { episodeButton.ShowArrow(); } else { episodeButton.HideArrow(); } } //戻るボタン抑制解除 SetSuspendReturn(false); StartCoroutine(WaitShowQuestList(() => { m_QuestSelect.isEndShowList = true; })); }, () => { // インジケーターを閉じる if (LoadingManager.Instance != null) { LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.ASSETBUNDLE); } }); }
public void addScoreInfo(PacketStructUserScoreInfo scoreInfo, MasterDataScoreEvent scoreEventMaster) { ScoreEventContext scoreEvent = new ScoreEventContext(); //スコア情報 scoreEvent.ScoreInfo = scoreInfo; //タイトル scoreEvent.Title = scoreEventMaster.title; //期間 string timeFormat = GameTextUtil.GetText("score_time_format"); if (TimeEventManager.Instance.ChkEventActive(scoreEventMaster.event_id) == true) { //開催中 MasterDataEvent eventData = MasterDataUtil.GetMasterDataEventFromID(scoreEventMaster.event_id); DateTime startTime = TimeUtil.GetDateTime(eventData.timing_start); if (eventData.timing_end != 0) { DateTime endTime = TimeUtil.GetDateTime(eventData.timing_end); endTime = endTime.SubtractAMinute(); scoreEvent.Time = string.Format(GameTextUtil.GetText("score_period"), startTime.ToString(timeFormat), endTime.ToString(timeFormat)); } else { //終了期限なし scoreEvent.Time = string.Format(GameTextUtil.GetText("score_period_infinite"), startTime.ToString(timeFormat), ""); } scoreEvent.IsTimeEnd = false; } else { //イベント終了 if (scoreEventMaster.receiving_end != 0) { DateTime endTime = TimeUtil.GetDateTime(scoreEventMaster.receiving_end); endTime = endTime.SubtractAMinute(); string kikanFormat = GameTextUtil.GetText("Score_period_01"); scoreEvent.TimeEnd = string.Format(kikanFormat, endTime.ToString(timeFormat)); } else { scoreEvent.TimeEnd = GameTextUtil.GetText("Score_period_02"); } scoreEvent.IsTimeEnd = true; } //エリア情報 scoreEvent.AreaMessage = GameTextUtil.GetText("score_notice"); //ハイスコア scoreEvent.HiScoreLabel = GameTextUtil.GetText("score_subtitle_highscore"); scoreEvent.HiScore = string.Format(GameTextUtil.GetText("score_entity_01"), scoreInfo.hi_score); scoreEvent.HiScorePt = GameTextUtil.GetText("score_entity_02"); //累積スコア scoreEvent.TotalScoreLabel = GameTextUtil.GetText("score_subtitle_cumulative");; scoreEvent.TotalScore = string.Format(GameTextUtil.GetText("score_entity_01"), scoreInfo.total_score); scoreEvent.TotalScorePt = GameTextUtil.GetText("score_entity_02"); //報酬情報更新 updateScoreReward(scoreEvent, scoreInfo); //アイコン MasterDataPresent imagePresent = null; if (scoreEventMaster.image_present_id != 0) { imagePresent = MasterDataUtil.GetPresentParamFromID(scoreEventMaster.image_present_id); } if (imagePresent != null) { MainMenuUtil.GetPresentIcon(imagePresent, (sprite) => { scoreEvent.IconImage = sprite; }); } else { UnitIconImageProvider.Instance.Get( 1, (sprite) => { scoreEvent.IconImage = sprite; }); } scoreEvent.DidSelectItem = OnSelectItem; EventList.Add(scoreEvent); }
private void CheckSkillUpEvent() { //---------------------------------------- // スキルレベルアップ確率上昇イベントの発生判定 //---------------------------------------- MasterDataEvent cHitEventMaster = null; MainMenuParam.m_BlendBuildEventSLV = 0; //-------------------------------- // スキルレベルアップ確率上昇イベントIDをリスト化 // @change Developer 2016/08/04 v360 //-------------------------------- uint[] aunEventSLVList = { GlobalDefine.SLV_EVENT_ID_x1000, // スキルレベルアップ確率増加イベントID:10.0倍 GlobalDefine.SLV_EVENT_ID_x0500, // スキルレベルアップ確率増加イベントID:5.0倍 GlobalDefine.SLV_EVENT_ID_x0400, // スキルレベルアップ確率増加イベントID:4.0倍 GlobalDefine.SLV_EVENT_ID_x0300, // スキルレベルアップ確率増加イベントID:3.0倍 GlobalDefine.SLV_EVENT_ID_x0250, // スキルレベルアップ確率増加イベントID:2.5倍 GlobalDefine.SLV_EVENT_ID_x0200, // スキルレベルアップ確率増加イベントID:2.0倍 GlobalDefine.SLV_EVENT_ID_x0150 // スキルレベルアップ確率増加イベントID:1.5倍 }; //-------------------------------- // イベント期間判定 // @add Developer 2016/08/04 v360 //-------------------------------- MasterDataEvent cTempEventMaster; uint unTimingStart = 0; uint unTimingEnd = 0; uint unFixEndTime = 0; for (int num = 0; num < aunEventSLVList.Length; ++num) { cTempEventMaster = MasterDataUtil.GetMasterDataEventFromID(aunEventSLVList[num]); if (cTempEventMaster == null) { continue; } //-------------------------------- // 期間指定タイプによる分岐 //-------------------------------- switch (cTempEventMaster.period_type) { // 指定(従来通り) default: case MasterDataDefineLabel.PeriodType.DESIGNATION: unTimingStart = cTempEventMaster.timing_start; unTimingEnd = cTempEventMaster.timing_end; break; // サイクル case MasterDataDefineLabel.PeriodType.CYCLE: if (cHitEventMaster != null || TimeEventManager.Instance == null) { continue; } // 開催期間を取得 CycleParam cCycleParam = TimeEventManager.Instance.GetEventCycleParam(cTempEventMaster.event_id); if (cCycleParam == null) { continue; } unTimingStart = cCycleParam.timingStart; unTimingEnd = cCycleParam.timingEnd; break; } //-------------------------------- // イベント期間判定 //-------------------------------- bool bCheckWithinTime = TimeManager.Instance.CheckWithinTime(unTimingStart, unTimingEnd); if (bCheckWithinTime == false) { continue; } // 各種情報を設定 unFixEndTime = unTimingEnd; // イベント終了時間 cHitEventMaster = cTempEventMaster; // イベントマスター // 従来通りならイベント判定終了(指定優先) if (cTempEventMaster.period_type != MasterDataDefineLabel.PeriodType.CYCLE) { break; } } //-------------------------------- // イベント終了時のフロー戻しがキツイので、 // やっぱりチュートリアル中はイベント開催を検知しない //-------------------------------- if (TutorialManager.IsExists) { cHitEventMaster = null; } //------------------------------- // イベント開催中か否かで表示分岐 // サイクル対応、無期限対応 // @change Developer 2016/08/04 v360 //------------------------------- if (cHitEventMaster != null) { MainMenuParam.m_BlendBuildEventSLV = cHitEventMaster.event_id; } }
/// <summary> /// 表示するイベント情報を取得する /// </summary> List <EventScheduleInfo> GetEvetntItemList(Category category) { List <EventScheduleInfo> eventItemList = new List <EventScheduleInfo>(); MasterDataArea[] areaMasterArray = MasterFinder <MasterDataArea> .Instance.GetAll(); for (int i = 0; i < areaMasterArray.Length; ++i) { MasterDataArea cAreaMasterData = areaMasterArray[i]; // イベント情報取得 MasterDataEvent cMasterDataEvent = null; if (category == Category.Active) { //開催中ページの場合、有効なイベント情報取得 cMasterDataEvent = MasterDataUtil.GetMasterDataEventFromID(cAreaMasterData.event_id); } else { //開催予定ページの場合、開始日が未来日のイベント情報取得 cMasterDataEvent = MasterDataUtil.GetMasterDataFurtureEventFromID(cAreaMasterData.event_id); } //-------------------------------- //表示対象かをチェック //-------------------------------- if (cMasterDataEvent == null) { continue; } uint unFixID = 0; uint unTimingStart = 0; uint unTimingEnd = 0; MasterDataDefineLabel.BoolType unScheduleShow = MasterDataDefineLabel.BoolType.NONE; //-------------------------------- // 期間指定タイプによる分岐 // @add Developer 2016/07/29 v360 //-------------------------------- switch (cMasterDataEvent.period_type) { // 指定(従来通り) default: case MasterDataDefineLabel.PeriodType.DESIGNATION: unFixID = cMasterDataEvent.fix_id; unTimingStart = cMasterDataEvent.timing_start; unTimingEnd = cMasterDataEvent.timing_end; unScheduleShow = cMasterDataEvent.event_schedule_show; break; // サイクル case MasterDataDefineLabel.PeriodType.CYCLE: if (TimeEventManager.Instance == null) { continue; } // エリアの表示期間のカウントダウンを算出 CycleParam cCycleParam; if (category == Category.Active) { cCycleParam = TimeEventManager.Instance.GetEventCycleParam(cMasterDataEvent.event_id); } else { cCycleParam = TimeEventManager.Instance.GetEventCycleFurtureParam(cMasterDataEvent.event_id); } if (cCycleParam == null) { continue; } unFixID = cCycleParam.fixID; unTimingStart = cCycleParam.timingStart; unTimingEnd = cCycleParam.timingEnd; unScheduleShow = cCycleParam.schedule; break; } if (unScheduleShow != MasterDataDefineLabel.BoolType.ENABLE) { continue; } // 開催中ページの場合 if (category == Category.Active) { //-------------------------------- // イベント期間判定 //-------------------------------- bool bCheckWithinTime = TimeManager.Instance.CheckWithinTime(unTimingStart, unTimingEnd); if (bCheckWithinTime == false) { continue; } } // 開催予定ページの場合開始時間が現在日の次の日までを表示する else if (category == Category.Furture) { // 時間を考慮しない開始日を取得 int nYear = TimeUtil.GetDateTimeToYear(unTimingStart); int nMonth = TimeUtil.GetDateTimeToMonth(unTimingStart); int nDay = TimeUtil.GetDateTimeToDay(unTimingStart); DateTime cTimeStartDay = new DateTime(nYear, nMonth, nDay, 0, 0, 0); // 時間を考慮しない現在日を取得 DateTime cTmpTimeNow = TimeManager.Instance.m_TimeNow; DateTime cTimeNowDay = new DateTime(cTmpTimeNow.Year, cTmpTimeNow.Month, cTmpTimeNow.Day, 0, 0, 0); // 現在日から開催日までのTimeSpanを取得 TimeSpan timeSpan = cTimeStartDay - cTimeNowDay; // 開催日まで一日よりある場合は登録しない if (timeSpan.Days > 1) { continue; } } EventScheduleInfo cEventScheduleInfo = new EventScheduleInfo(); //-------------------------------- // マスターの情報をそのまま使うと、 // サイクルなどの処理で困るため、一部改変してスケジュールのマスタとする //-------------------------------- cEventScheduleInfo.m_MasterDataEvent = new MasterDataEvent(); cEventScheduleInfo.m_MasterDataEvent.fix_id = unFixID; cEventScheduleInfo.m_MasterDataEvent.active = cMasterDataEvent.active; cEventScheduleInfo.m_MasterDataEvent.period_type = cMasterDataEvent.period_type; cEventScheduleInfo.m_MasterDataEvent.cycle_date_type = cMasterDataEvent.cycle_date_type; cEventScheduleInfo.m_MasterDataEvent.cycle_timing_start = cMasterDataEvent.cycle_timing_start; cEventScheduleInfo.m_MasterDataEvent.cycle_active_hour = cMasterDataEvent.cycle_active_hour; cEventScheduleInfo.m_MasterDataEvent.timing_start = unTimingStart; cEventScheduleInfo.m_MasterDataEvent.timing_end = unTimingEnd; cEventScheduleInfo.m_MasterDataEvent.user_group = cMasterDataEvent.user_group; cEventScheduleInfo.m_MasterDataEvent.event_id = cMasterDataEvent.event_id; cEventScheduleInfo.m_MasterDataEvent.event_schedule_show = unScheduleShow; cEventScheduleInfo.m_MasterDataEvent.area_id = (int)cAreaMasterData.fix_id; cEventScheduleInfo.m_AreaName = cAreaMasterData.area_name; cEventScheduleInfo.m_AreaUrl = cAreaMasterData.area_url; //リストに追加 eventItemList.Add(cEventScheduleInfo); } return(eventItemList); }