コード例 #1
0
ファイル: DailyManager.cs プロジェクト: zuojiashun/src
    public void RefreshSingleActivity(stRefreshLivenessDataUserCmd_S cmd)
    {
        DataID           = cmd.type;
        ActiveTotalValue = cmd.liveness;
        LivenessData info = new LivenessData()
        {
            type         = cmd.type,
            liveness_num = cmd.liveness_num,
            time         = cmd.times
        };
        DailyDataBase table = GameTableManager.Instance.GetTableItem <DailyDataBase>(DataID);

        ListSort(activeList);
        ActiveDic[cmd.type] = info;
        for (int i = 0; i < activeList.Count; i++)
        {
            if (activeList[i].type == info.type)
            {
                activeList[i] = info;
            }
        }

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.DAILY_RESSINGLEDATA, null);
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Daily,
            direction = (int)WarningDirection.None,
            bShowRed  = HaveRewardBoxCanGet(),
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
コード例 #2
0
    public void UpdateUI(LivenessData list)
    {
        if (null == dailyData)
        {
            return;
        }
        SetName(dailyData.name);
        SetIcon(dailyData.icon);
        SetState(dailyData.recommend);
        isInSchedule = DataManager.Manager <DailyManager>().UpdateDataLeftTime(dailyData, out leftSeconds);
        if (list.time >= dailyData.MaxTimes && dailyData.MaxTimes != 0)
        {
            m_btn_Go.isEnabled = false;
            btn_go_label.text  = tm.GetLocalText(LocalTextType.Local_TXT_Notice_Daily_Finish);
        }
        else
        {
            IPlayer player = MainPlayerHelper.GetMainPlayer();

            if (player != null && player.GetProp((int)CreatureProp.Level) < dailyData.minLevel)
            {
                SetOpenBtn(false, dailyData.minLevel);
            }
            else
            {
                SetBtnSchedule(dailyData);
            }
        }
        SetLabelValue(list);
    }
コード例 #3
0
    private void SetLabelValue(LivenessData list)
    {
        bool ShowMask = dailyData.MaxTimes != 0 && list.time >= dailyData.MaxTimes;

        if (dailyData.MaxTimes == 0)
        {
            m_label_Times.text = ColorManager.GetColorString(ColorType.JZRY_Gray, "次数:不限");
        }
        else
        {
            string text = string.Format("次数:{0}/{1}", list.time, dailyData.MaxTimes);
            if (list.time < dailyData.MaxTimes)
            {
                m_label_Times.text = ColorManager.GetColorString(ColorType.JZRY_Gray, text);
            }
            else
            {
                m_label_Times.text = ColorManager.GetColorString(ColorType.JZRY_Green, text);
            }
        }
        m_spr_Mask.gameObject.SetActive(ShowMask);
        string text2 = string.Format("活跃:{0}/{1}", list.liveness_num, dailyData.MaxActive);

        if (list.liveness_num < dailyData.MaxActive)
        {
            m_label_Active.text = ColorManager.GetColorString(ColorType.JZRY_Gray, text2);
        }
        else
        {
            m_label_Active.text = ColorManager.GetColorString(ColorType.JZRY_Green, text2);
        }
    }
コード例 #4
0
ファイル: DailyManager.cs プロジェクト: zuojiashun/src
 public void Reset(bool depthClearData = false)
 {
     liveness = new LivenessData();
     activeList.Clear();
     dataID            = 0;
     completedNum      = 0;
     activeSingleValue = 0;
     activeTotalValue  = 0;
     rewardID          = 0;
     rewardBoxList.Clear();
     canGetBoxList.Clear();
     ActiveDic.Clear();
 }
コード例 #5
0
ファイル: DailyPanel.cs プロジェクト: zuojiashun/src
    /// <summary>
    /// 商城格子数据刷新
    /// </summary>
    /// <param name="grid"></param>
    /// <param name="index"></param>
    private void OnUpdateMallGridData(UIGridBase grid, int index)
    {
        if (grid is UITabGrid)
        {
            if (index > DailyTabValues.Count)
            {
                Engine.Utility.Log.Error("DailyPanel OnUpdateMallGridData faield,mallTabDic data errir");
                return;
            }

            UITabGrid tabGrid = grid as UITabGrid;
            tabGrid.SetName(DailyTabValues[index]);
            tabGrid.SetHightLight(activeTabId == index ? true : false);
            tabGrid.SetGridData(index);
        }
        else if (grid is UIDailyGrid)
        {
            DailyDataBase data = dailyDataList[index];
            if (DataManager.Manager <DailyManager>().ActiveDic.ContainsKey(data.id))
            {
                LivenessData list = DataManager.Manager <DailyManager>().ActiveDic[data.id];
                if (data != null && list != null)
                {
                    UIDailyGrid dailyGrid = grid as UIDailyGrid;
                    dailyGrid.SetDailyData(data, list);
                    dailyGrid.SetSelect(index == m_lstDailyID.IndexOf(selectDailyId));
                    dailyGrid.onClickDailyGrid = onClickDailyGrid;
                }
            }
        }
        else if (grid is UIDailyCalendarGrid)
        {
            UIDailyCalendarGrid data = grid as UIDailyCalendarGrid;
            if (data != null)
            {
                data.SetGridData(dailyIDs[index]);
                data.SetBg(todayIsMatch);
            }
        }
        else if (grid is UIDailyRewardGrid)
        {
            UIDailyRewardGrid data = grid as UIDailyRewardGrid;
            if (data != null)
            {
                if (index < m_lstRewardID.Count)
                {
                    data.SetGridData(m_lstRewardID[index]);
                }
            }
        }
    }
コード例 #6
0
ファイル: DailyManager.cs プロジェクト: zuojiashun/src
    public void ListSort(List <LivenessData> list)
    {
        tempList1.Clear();
        tempList2.Clear();
        tempList3.Clear();
        tempList4.Clear();
        tempList6.Clear();
        openList.Clear();
        closeList.Clear();
        for (int i = 0; i < list.Count; i++)
        {
            DailyDataBase data = GameTableManager.Instance.GetTableItem <DailyDataBase>(list[i].type);
            if (data != null)
            {
                int level = MainPlayerHelper.GetPlayerLevel();
                if (level >= data.minLevel)
                {
                    openList.Add(list[i]);
                }
                else
                {
                    closeList.Add(list[i]);
                }
                if (!ActiveDic.ContainsKey(list[i].type))
                {
                    ActiveDic.Add(list[i].type, list[i]);
                }
            }
        }
        long leftSeconds = 0;

        for (int x = 0; x < openList.Count; x++)
        {
            DailyDataBase data = GameTableManager.Instance.GetTableItem <DailyDataBase>(openList[x].type);
            if (data != null)
            {
                if (data.MaxTimes == 0 || (data.MaxTimes > openList[x].time && data.MaxTimes != 0))
                {
                    bool InSchedule = DataManager.Manager <DailyManager>().UpdateDataLeftTime(data, out leftSeconds);
                    if (InSchedule)
                    {
                        if (data.recommend == 1)
                        {
                            tempList1.Add(openList[x]);
                        }
                        else if (data.recommend == 2)
                        {
                            tempList2.Add(openList[x]);
                        }
                        else
                        {
                            tempList3.Add(openList[x]);
                        }
                    }
                    else
                    {
                        tempList4.Add(openList[x]);
                    }
                }
                else
                {
                    tempList6.Add(openList[x]);
                }
            }
        }
        LivenessData temp = new LivenessData();

        for (int a = 0; a < closeList.Count; a++)
        {
            DailyDataBase data1 = GameTableManager.Instance.GetTableItem <DailyDataBase>(closeList[a].type);
            if (data1 != null)
            {
                for (int b = closeList.Count - 1; b > a; b--)
                {
                    DailyDataBase data2 = GameTableManager.Instance.GetTableItem <DailyDataBase>(closeList[b].type);
                    if (data2 != null)
                    {
                        if (data1.minLevel > data2.minLevel)
                        {
                            temp         = closeList[a];
                            closeList[a] = closeList[b];
                            closeList[b] = temp;
                        }
                    }
                }
            }
        }
        activeList.Clear();
        activeList.AddRange(tempList1);
        activeList.AddRange(tempList2);
        activeList.AddRange(tempList3);
        activeList.AddRange(tempList4);
        activeList.AddRange(tempList6);
        activeList.AddRange(closeList);
    }
コード例 #7
0
 public void SetDailyData(DailyDataBase data, LivenessData list)
 {
     dailyData = data;
     DailyID   = data.id;
     UpdateUI(list);
 }