/// <summary>
    /// 设置限时活动详细列表界面Data
    /// </summary>
    private void LimitActivityInfoListResourceLoaded()
    {
        var m_dataList = m_infoGridListMogoListImproved.DataList;

        for (int i = 0; i < m_dataList.Count; i++)
        {
            TimeLimitActivityInfo     gridUI   = (TimeLimitActivityInfo)m_dataList[i];
            LimitActivityInfoGridData gridData = m_listLimitActivityInfoData[i];

            gridUI.LoadResourceInsteadOfAwake();
            gridUI.ActivityID  = gridData.ID;
            gridUI.CDText      = gridData.CDText;
            gridUI.InfoDesc    = gridData.Desc;
            gridUI.InfoTitle   = gridData.Title;
            gridUI.Rule        = gridData.Rule;
            gridUI.InfoImgName = gridData.InfoImgName;
            gridUI.ListItemID  = gridData.ItemListID;
            gridUI.SetActivityStatus(gridData.Status);
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 设置限时活动详细信息列表
    /// </summary>
    /// <param name="id"></param>
    public void SetAllActivityInfo()
    {
        //Debug.Log("SetAllActivityInfo");

        List <LimitActivityInfoGridData> listActivityInfoData = new List <LimitActivityInfoGridData>();

        foreach (var activityIDMessage in sortResult)
        {
            int id = activityIDMessage.Key;
            if (!EventData.dataMap.ContainsKey(id))
            {
                continue;
            }

            LimitActivityInfoGridData aid = new LimitActivityInfoGridData();
            var data = activityIDMessage.Value;

            int acceptTime  = data.accept_time;
            int timeOutTime = data.accept_time + EventData.dataMap[id].limit_time * 60;

            DateTime timeOutDate = MogoTime.Instance.GetDateTimeBySecond(timeOutTime);
            TimeSpan theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(timeOutTime);

            string endTime = theInterval.TotalHours >= 1000 ? "999:59:59" : (int)theInterval.TotalHours + ":" + theInterval.Minutes + ":" + theInterval.Seconds;

            string timeOutDateStr = GetTimeOutTimeStr(EventData.dataMap[id], timeOutDate);

            if (data.is_doing) // 已领取
            {
                if (data.is_reward > 0)
                {
                    aid.CDText = LanguageData.GetContent(7134);
                    aid.Status = ActivityStatus.HasReward;

                    TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(id);
                }
                else if (data.is_finish > 0) // 已完成
                {
                    aid.CDText = LanguageData.GetContent(7133);
                    aid.Status = ActivityStatus.HasFinished;

                    TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(id);
                }
                else if (EventData.dataMap[id].limit_time == 0) // 活动中-不限时间
                {
                    aid.CDText = LanguageData.GetContent(7137);
                    aid.Status = ActivityStatus.OtherStatus;

                    TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(id);
                }
                else
                {
                    aid.CDText = (int)theInterval.TotalDays + ":" + (int)theInterval.Hours + ":" + theInterval.Minutes + ":" + theInterval.Seconds;
                    aid.Status = ActivityStatus.OtherStatus;
                }
            }
            else
            {
                aid.CDText = LanguageData.GetContent(7132);
                aid.Status = ActivityStatus.OtherStatus;
            }

            aid.ID    = id;
            aid.Title = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].name) ? LanguageData.dataMap[EventData.dataMap[id].name].content : "";
            aid.Desc  = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].title) ? LanguageData.dataMap[EventData.dataMap[id].title].content : "";

            //if (data.is_doing)
            //{
            aid.Rule = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].describtion) ? LanguageData.dataMap[EventData.dataMap[id].describtion].Format(timeOutDateStr) : "";
            //}
            //else
            //{
            //    if (EventData.dataMap.ContainsKey(id))
            //        aid.Rule = LanguageData.GetContent(7130) + GetBeginTimeStr(EventData.dataMap[id]) + LanguageData.GetContent(7131);
            //}

            aid.InfoImgName = IconData.dataMap[EventData.dataMap[id].icon].path;

            //if (progress != null)
            //    aid.Rule = EventData.dataMap[id].Format(progress.ToArray());
            //else
            //    aid.Rule = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].rule) ? LanguageData.dataMap[EventData.dataMap[id].rule].content : "";

            if (EventData.dataMap.ContainsKey(id))
            {
                List <int> listID = new List <int>();

                Dictionary <int, int> items;
                switch (MogoWorld.thePlayer.vocation)
                {
                case Vocation.Warrior:
                    items = EventData.dataMap[id].items1;
                    break;

                case Vocation.Assassin:
                    items = EventData.dataMap[id].items2;
                    break;

                case Vocation.Archer:
                    items = EventData.dataMap[id].items3;
                    break;

                case Vocation.Mage:
                    items = EventData.dataMap[id].items4;
                    break;

                default:
                    items = new Dictionary <int, int>();
                    break;
                }

                if (items != null)
                {
                    foreach (var item in items)
                    {
                        if (ItemParentData.GetItem(item.Key) != null)
                        {
                            listID.Add(item.Key);
                        }
                        else
                        {
                            Debug.Log("Item Not Exist");
                        }
                    }
                }

                aid.ItemListID = listID;
            }

            listActivityInfoData.Add(aid);
        }

        TimeLimitActivityUIViewManager.Instance.SetLimitActivityInfoListData(listActivityInfoData);
    }
    /// <summary>
    /// 设置限时活动详细信息列表
    /// </summary>
    /// <param name="id"></param>
    public void SetAllActivityInfo()
    {
        LoggerHelper.Debug("SetAllActivityInfo");

        List<LimitActivityInfoGridData> listActivityInfoData = new List<LimitActivityInfoGridData>();
        foreach (var activityIDMessage in sortResult)
        {
            int id = activityIDMessage.Key;
            if (!EventData.dataMap.ContainsKey(id))
                continue;

            LimitActivityInfoGridData aid = new LimitActivityInfoGridData();
            var data = activityIDMessage.Value;     

            int acceptTime = data.accept_time;
            int timeOutTime = data.accept_time + EventData.dataMap[id].limit_time * 60;

            DateTime timeOutDate = MogoTime.Instance.GetDateTimeBySecond(timeOutTime);
            TimeSpan theInterval = MogoTime.Instance.CalculateTimeSpanDateTime(timeOutTime);

            string endTime = theInterval.TotalHours >= 1000 ? "999:59:59" : (int)theInterval.TotalHours + ":" + theInterval.Minutes + ":" + theInterval.Seconds;

            string timeOutDateStr = GetTimeOutTimeStr(EventData.dataMap[id], timeOutDate);

            if (data.is_doing) // 已领取
            {
                if (data.is_reward > 0)
                {
                    aid.CDText = LanguageData.GetContent(7134);
                    aid.Status = ActivityStatus.HasReward;

                    TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(id);
                }
                else if (data.is_finish > 0) // 已完成
                {
                    aid.CDText = LanguageData.GetContent(7133);
                    aid.Status = ActivityStatus.HasFinished;

                    TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(id);
                }
                else if (EventData.dataMap[id].limit_time == 0) // 活动中-不限时间
                {
                    aid.CDText = LanguageData.GetContent(7137);
                    aid.Status = ActivityStatus.OtherStatus;

                    TimeLimitActivityUIViewManager.Instance.SetGridCountDownStop(id);
                }
                else
                {
                    aid.CDText = (int)theInterval.TotalDays + ":" + (int)theInterval.Hours + ":" + theInterval.Minutes + ":" + theInterval.Seconds;
                    aid.Status = ActivityStatus.OtherStatus;
                }
            }
            else
            {
                aid.CDText = LanguageData.GetContent(7132);
                aid.Status = ActivityStatus.OtherStatus;
            }

            aid.ID = id;
            aid.Title = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].name) ? LanguageData.dataMap[EventData.dataMap[id].name].content : "";
            aid.Desc = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].title) ? LanguageData.dataMap[EventData.dataMap[id].title].content : "";

            //if (data.is_doing)
            //{
                aid.Rule = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].describtion) ? LanguageData.dataMap[EventData.dataMap[id].describtion].Format(timeOutDateStr) : "";
            //}
            //else
            //{
            //    if (EventData.dataMap.ContainsKey(id))
            //        aid.Rule = LanguageData.GetContent(7130) + GetBeginTimeStr(EventData.dataMap[id]) + LanguageData.GetContent(7131);
            //}

            aid.InfoImgName = IconData.dataMap[EventData.dataMap[id].icon].path;

            //if (progress != null)
            //    aid.Rule = EventData.dataMap[id].Format(progress.ToArray());
            //else
            //    aid.Rule = LanguageData.dataMap.ContainsKey(EventData.dataMap[id].rule) ? LanguageData.dataMap[EventData.dataMap[id].rule].content : "";

            if (EventData.dataMap.ContainsKey(id))
            {
                List<int> listID = new List<int>();

                Dictionary<int, int> items;
                switch (MogoWorld.thePlayer.vocation)
                {
                    case Vocation.Warrior:
                        items = EventData.dataMap[id].items1;
                        break;
                    case Vocation.Assassin:
                        items = EventData.dataMap[id].items2;
                        break;
                    case Vocation.Archer:
                        items = EventData.dataMap[id].items3;
                        break;
                    case Vocation.Mage:
                        items = EventData.dataMap[id].items4;
                        break;
                    default:
                        items = new Dictionary<int, int>();
                        break;
                }

                if (items != null)
                {
                    foreach (var item in items)
                    {
                        if (ItemParentData.GetItem(item.Key) != null)
                        {
                            listID.Add(item.Key);
                        }
                        else
                            LoggerHelper.Debug("Item Not Exist");
                    }
                }

                aid.ItemListID = listID;
            }   
         
            listActivityInfoData.Add(aid);               
        }

        TimeLimitActivityUIViewManager.Instance.SetLimitActivityInfoListData(listActivityInfoData);     
    }