/// <summary> /// 设置限时活动列表 /// </summary> private void SetAllActivity() { TimeLimitActivityUIViewManager.Instance.ResetActivityGridList(); foreach (var activityIDMessage in sortResult) { if (activityIDMessage.Value.is_doing) // 活动已开启 { int id = activityIDMessage.Key; if (EventData.dataMap.ContainsKey(id)) { LimitActivityGridData ad = new LimitActivityGridData(); ad.TitleText = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].name) ? LanguageData.dataMap[EventData.dataMap[id].name].content : ""; ad.FGImgName = IconData.dataMap[EventData.dataMap[id].icon].path; if (activityIDMessage.Value != null) { if (activityIDMessage.Value.is_reward > 0) // 已领取 { ad.CDText = LanguageData.GetContent(7134); ad.Status = ActivityStatus.HasReward; TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(activityIDMessage.Key); } else if (activityIDMessage.Value.is_finish > 0) // 已完成 { ad.CDText = LanguageData.GetContent(7133); ad.Status = ActivityStatus.HasFinished; TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(activityIDMessage.Key); } else if (EventData.dataMap[id].limit_time == 0) // 活动中-不限时间 { ad.CDText = LanguageData.GetContent(7137); ad.Status = ActivityStatus.OtherStatus; TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(activityIDMessage.Key); } else { TimeSpan theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(MogoTime.Instance.GetSecond() + EventData.dataMap[id].limit_time * 60); theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(activityIDMessage.Value.accept_time + EventData.dataMap[id].limit_time * 60); ad.CDText = (int)theInterval.TotalDays + ":" + (int)theInterval.Hours + ":" + theInterval.Minutes + ":" + theInterval.Seconds; ad.Status = ActivityStatus.OtherStatus; } } else { TimeSpan theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(activityIDMessage.Value.accept_time + EventData.dataMap[id].limit_time * 60); ad.CDText = (int)theInterval.TotalDays + ":" + (int)theInterval.Hours + ":" + theInterval.Minutes + ":" + theInterval.Seconds; ad.Status = ActivityStatus.OtherStatus; } TimeLimitActivityUIViewManager.Instance.AddActivityGrid(ad, id); } } else // 活动未开启 { int idToDo = activityIDMessage.Key; if (EventData.dataMap.ContainsKey(idToDo)) { LimitActivityGridData ad = new LimitActivityGridData(); ad.TitleText = LanguageData.dataMap.ContainsKey(EventData.dataMap[idToDo].name) ? LanguageData.dataMap[EventData.dataMap[idToDo].name].content : ""; ad.CDText = LanguageData.GetContent(7132); ad.Status = ActivityStatus.OtherStatus; ad.FGImgName = IconData.dataMap[EventData.dataMap[idToDo].icon].path; TimeLimitActivityUIViewManager.Instance.AddActivityGrid(ad, idToDo); } } } }
/// <summary> /// 创建Grid /// </summary> /// <param name="gridData"></param> /// <param name="theID"></param> public void AddActivityGrid(LimitActivityGridData gridData, int theID) { INSTANCE_COUNT++; MogoGlobleUIManager.Instance.ShowWaitingTip(true); AssetCacheMgr.GetUIInstance("TimeLimitActivityGrid.prefab", (prefab, id, go) => { for (int i = 0; i < m_listActivityGird.Count; ++i) { if (m_listActivityGird[i].Id == theID) { AssetCacheMgr.ReleaseInstance((GameObject)go); return; } } GameObject obj = (GameObject)go; TimeLimitActivityGrid gridUI = obj.AddComponent<TimeLimitActivityGrid>(); obj.name = "TimeLimitActivityGrid" + m_listActivityGird.Count; gridUI.LoadResourceInsteadOfAwake(); gridUI.Id = theID; gridUI.Index = m_listActivityGird.Count; gridUI.CDText = gridData.CDText; gridUI.TitleText = gridData.TitleText; gridUI.GridFGName = gridData.FGImgName; gridUI.SetActivityStatus(gridData.Status); obj.transform.parent = m_goActivityGridList.transform; obj.transform.localPosition = new Vector3(m_listActivityGirdObject.Count * ACTIVITYGRIDWIDTH, 0, -1); obj.transform.localScale = new Vector3(1, 1, 1); m_listActivityGirdObject.Add(obj); m_listActivityGird.Add(gridUI); obj.GetComponentsInChildren<MyDragCamera>(true)[0].RelatedCamera = m_camActivityGridList.transform.GetComponentsInChildren<Camera>(true)[0]; INSTANCE_COUNT--; if (INSTANCE_COUNT <= 0) MogoGlobleUIManager.Instance.ShowWaitingTip(false); if (m_listActivityGirdObject.Count - ActivityGridCountOnePage >= 0) m_dragableCameraActivityGridList.MAXX = 380 + ACTIVITYGRIDWIDTH * (m_listActivityGirdObject.Count - 3); else m_dragableCameraActivityGridList.MAXX = 380; EventDispatcher.TriggerEvent<int>("LoadTimeLimitActivityGridDone", gridUI.Id); if (obj.name == MogoUIManager.Instance.WaitingWidgetName) { EventDispatcher.TriggerEvent("WaitingWidgetFinished"); } // 创建翻页位置 int index = m_listActivityGirdObject.Count - 1; if (index % ActivityGridCountOnePage == 0) { GameObject trans = new GameObject(); trans.transform.parent = m_camActivityGridList.transform; trans.transform.localPosition = new Vector3(index / ActivityGridCountOnePage * 1140 + 380, 0, 0); trans.transform.localEulerAngles = Vector3.zero; trans.transform.localScale = new Vector3(1, 1, 1); trans.name = "ActivityGridPagePosHorizon" + index / ActivityGridCountOnePage; m_dragableCameraActivityGridList.transformList.Add(trans.transform); m_dragableCameraActivityGridList.SetCurrentPage(0); // 创建页数点 ++m_iActivityGridPageNum; int num = m_iActivityGridPageNum; AssetCacheMgr.GetUIInstance("ChooseServerPage.prefab", (prefabPage, idPage, goPage) => { GameObject objPage = (GameObject)goPage; objPage.transform.parent = m_goGOTimeLimitActivityUIActivityListPage.transform; objPage.transform.localPosition = new Vector3((num - 1) * 40, 0, 0); objPage.transform.localScale = Vector3.one; objPage.name = "ActivityGridPage" + num; m_camActivityGridList.GetComponentsInChildren<MyDragableCamera>(true)[0].ListPageDown.Add(objPage.GetComponentsInChildren<UISprite>(true)[1].gameObject); m_goGOTimeLimitActivityUIActivityListPage.transform.localPosition = new Vector3(-20 * (num - 1), m_goGOTimeLimitActivityUIActivityListPage.transform.localPosition.y, 0); // 选择当前页 if (num - 1 == m_dragableCameraActivityGridList.GetCurrentPage()) objPage.GetComponentsInChildren<UISprite>(true)[1].gameObject.SetActive(true); else objPage.GetComponentsInChildren<UISprite>(true)[1].gameObject.SetActive(false); m_dragableCameraActivityGridList.GODOTPageList = m_goGOTimeLimitActivityUIActivityListPage; m_dragableCameraActivityGridList.SetCurrentPage(m_dragableCameraActivityGridList.GetCurrentPage()); }); } }); }
/// <summary> /// 创建Grid /// </summary> /// <param name="gridData"></param> /// <param name="theID"></param> public void AddActivityGrid(LimitActivityGridData gridData, int theID) { INSTANCE_COUNT++; MogoGlobleUIManager.Instance.ShowWaitingTip(true); AssetCacheMgr.GetUIInstance("TimeLimitActivityGrid.prefab", (prefab, id, go) => { for (int i = 0; i < m_listActivityGird.Count; ++i) { if (m_listActivityGird[i].Id == theID) { AssetCacheMgr.ReleaseInstance((GameObject)go); return; } } GameObject obj = (GameObject)go; TimeLimitActivityGrid gridUI = obj.AddComponent <TimeLimitActivityGrid>(); obj.name = "TimeLimitActivityGrid" + m_listActivityGird.Count; gridUI.LoadResourceInsteadOfAwake(); gridUI.Id = theID; gridUI.Index = m_listActivityGird.Count; gridUI.CDText = gridData.CDText; gridUI.TitleText = gridData.TitleText; gridUI.GridFGName = gridData.FGImgName; gridUI.SetActivityStatus(gridData.Status); obj.transform.parent = m_goActivityGridList.transform; obj.transform.localPosition = new Vector3(m_listActivityGirdObject.Count * ACTIVITYGRIDWIDTH, 0, -1); obj.transform.localScale = new Vector3(1, 1, 1); m_listActivityGirdObject.Add(obj); m_listActivityGird.Add(gridUI); obj.GetComponentsInChildren <MyDragCamera>(true)[0].RelatedCamera = m_camActivityGridList.transform.GetComponentsInChildren <Camera>(true)[0]; INSTANCE_COUNT--; if (INSTANCE_COUNT <= 0) { MogoGlobleUIManager.Instance.ShowWaitingTip(false); } if (m_listActivityGirdObject.Count - ActivityGridCountOnePage >= 0) { m_dragableCameraActivityGridList.MAXX = 380 + ACTIVITYGRIDWIDTH * (m_listActivityGirdObject.Count - 3); } else { m_dragableCameraActivityGridList.MAXX = 380; } EventDispatcher.TriggerEvent <int>("LoadTimeLimitActivityGridDone", gridUI.Id); if (obj.name == MogoUIManager.Instance.WaitingWidgetName) { EventDispatcher.TriggerEvent("WaitingWidgetFinished"); } // 创建翻页位置 int index = m_listActivityGirdObject.Count - 1; if (index % ActivityGridCountOnePage == 0) { GameObject trans = new GameObject(); trans.transform.parent = m_camActivityGridList.transform; trans.transform.localPosition = new Vector3(index / ActivityGridCountOnePage * 1140 + 380, 0, 0); trans.transform.localEulerAngles = Vector3.zero; trans.transform.localScale = new Vector3(1, 1, 1); trans.name = "ActivityGridPagePosHorizon" + index / ActivityGridCountOnePage; m_dragableCameraActivityGridList.transformList.Add(trans.transform); m_dragableCameraActivityGridList.SetCurrentPage(0); // 创建页数点 ++m_iActivityGridPageNum; int num = m_iActivityGridPageNum; AssetCacheMgr.GetUIInstance("ChooseServerPage.prefab", (prefabPage, idPage, goPage) => { GameObject objPage = (GameObject)goPage; objPage.transform.parent = m_goGOTimeLimitActivityUIActivityListPage.transform; objPage.transform.localPosition = new Vector3((num - 1) * 40, 0, 0); objPage.transform.localScale = Vector3.one; objPage.name = "ActivityGridPage" + num; m_camActivityGridList.GetComponentsInChildren <MyDragableCamera>(true)[0].ListPageDown.Add(objPage.GetComponentsInChildren <UISprite>(true)[1].gameObject); m_goGOTimeLimitActivityUIActivityListPage.transform.localPosition = new Vector3(-20 * (num - 1), m_goGOTimeLimitActivityUIActivityListPage.transform.localPosition.y, 0); // 选择当前页 if (num - 1 == m_dragableCameraActivityGridList.GetCurrentPage()) { objPage.GetComponentsInChildren <UISprite>(true)[1].gameObject.SetActive(true); } else { objPage.GetComponentsInChildren <UISprite>(true)[1].gameObject.SetActive(false); } m_dragableCameraActivityGridList.GODOTPageList = m_goGOTimeLimitActivityUIActivityListPage; m_dragableCameraActivityGridList.SetCurrentPage(m_dragableCameraActivityGridList.GetCurrentPage()); }); } }); }
/// <summary> /// 设置限时活动列表 /// </summary> private void SetAllActivity() { TimeLimitActivityUIViewManager.Instance.ResetActivityGridList(); foreach (var activityIDMessage in sortResult) { if (activityIDMessage.Value.is_doing) // 活动已开启 { int id = activityIDMessage.Key; if (EventData.dataMap.ContainsKey(id)) { LimitActivityGridData ad = new LimitActivityGridData(); ad.TitleText = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].name) ? LanguageData.dataMap[EventData.dataMap[id].name].content : ""; ad.FGImgName = IconData.dataMap[EventData.dataMap[id].icon].path; if (activityIDMessage.Value != null) { if (activityIDMessage.Value.is_reward > 0) // 已领取 { ad.CDText = LanguageData.GetContent(7134); ad.Status = ActivityStatus.HasReward; TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(activityIDMessage.Key); } else if (activityIDMessage.Value.is_finish > 0) // 已完成 { ad.CDText = LanguageData.GetContent(7133); ad.Status = ActivityStatus.HasFinished; TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(activityIDMessage.Key); } else if (EventData.dataMap[id].limit_time == 0) // 活动中-不限时间 { ad.CDText = LanguageData.GetContent(7137); ad.Status = ActivityStatus.OtherStatus; TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(activityIDMessage.Key); } else { TimeSpan theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(MogoTime.Instance.GetSecond() + EventData.dataMap[id].limit_time * 60); theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(activityIDMessage.Value.accept_time + EventData.dataMap[id].limit_time * 60); ad.CDText = (int)theInterval.TotalDays + ":" + (int)theInterval.Hours + ":" + theInterval.Minutes + ":" + theInterval.Seconds; ad.Status = ActivityStatus.OtherStatus; } } else { TimeSpan theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(activityIDMessage.Value.accept_time + EventData.dataMap[id].limit_time * 60); ad.CDText = (int)theInterval.TotalDays + ":" + (int)theInterval.Hours + ":" + theInterval.Minutes + ":" + theInterval.Seconds; ad.Status = ActivityStatus.OtherStatus; } TimeLimitActivityUIViewManager.Instance.AddActivityGrid(ad, id); } } else // 活动未开启 { int idToDo = activityIDMessage.Key; if (EventData.dataMap.ContainsKey(idToDo)) { LimitActivityGridData ad = new LimitActivityGridData(); ad.TitleText = LanguageData.dataMap.ContainsKey(EventData.dataMap[idToDo].name) ? LanguageData.dataMap[EventData.dataMap[idToDo].name].content : ""; ad.CDText = LanguageData.GetContent(7132); ad.Status = ActivityStatus.OtherStatus; ad.FGImgName = IconData.dataMap[EventData.dataMap[idToDo].icon].path; TimeLimitActivityUIViewManager.Instance.AddActivityGrid(ad, idToDo); } } } }