示例#1
0
 public void UpdateAchieveInfoTable(SAchieveInfo info)
 {
     if (m_sAchieveInfoTable.ContainsKey(info.achCode))
     {
         m_sAchieveInfoTable[info.achCode] = info;
     }
     else
     {
         m_sAchieveInfoTable.Add(info.achCode, info);
     }
 }
示例#2
0
    public bool GetDailyTabAchieveInfoList(out List <AchievementInfo>[] infoListArray)
    {
        infoListArray = new List <AchievementInfo> [3];

        infoListArray[0] = new List <AchievementInfo>();
        infoListArray[1] = new List <AchievementInfo>(m_achieveInfoTable[ACHIEVE_TYPE.TYPE_DAILY_RANDOM]);
        infoListArray[2] = new List <AchievementInfo>(m_achieveInfoTable[ACHIEVE_TYPE.TYPE_WEEKLY_RANDOM]);

        for (int i = 1; i < 3; i++)
        {
            for (int j = infoListArray[i].Count - 1; j >= 0; j--)
            {
                SAchieveInfo sInfo = GetServerAchieveInfo(infoListArray[i][j].index);
                if (sInfo.GetProgressType.Equals(ACHIEVE_PROGRESS_TYPE.TYPE_CLEAR))
                {
                    infoListArray[0].Add(infoListArray[i][j]);
                    infoListArray[i].RemoveAt(j);
                }
            }
        }

        return(true);
    }
示例#3
0
    public void UpdateItem(AchievementInfo info, Vector3 position, bool isLastPosition = false)
    {
        m_achieveInfo = info;
        m_serverInfo  = AchievementManager.instance.GetServerAchieveInfo(info.index);

        m_itemIndex = info.rewardIndex;

        m_transform.localPosition = position;
        m_spriteArray[(int)SPRITE_TYPE.TYPE_LINE].gameObject.SetActive(!isLastPosition);

        bool isActive = !m_serverInfo.GetProgressType.Equals(ACHIEVE_PROGRESS_TYPE.TYPE_NONE);

        m_viewGroup.SetActive(isActive);
        m_hideGroup.SetActive(!isActive);

        #region Info
        UpdateTitleIcon(info);

        int completeValue = m_serverInfo.GetProgressType.Equals(ACHIEVE_PROGRESS_TYPE.TYPE_COMPLETE) ? info.value : m_serverInfo.achVal;

        m_labelArray[(int)LABEL_TYPE.TYPE_TITLE].text        = info.GetTitle;
        m_labelArray[(int)LABEL_TYPE.TYPE_DESC].text         = info.GetDesc;
        m_labelArray[(int)LABEL_TYPE.TYPE_HIDE_DESC].text    = info.hintDesc;
        m_labelArray[(int)LABEL_TYPE.TYPE_SLIDER_VALUE].text = string.Format("{0}/{1}", completeValue, info.value);

        m_slider.value = (float)completeValue / (float)info.value;
        #endregion

        #region Reward
        UpdateRewardIcon(info);
        UpdateCompleteButton(m_serverInfo.GetProgressType.Equals(ACHIEVE_PROGRESS_TYPE.TYPE_CLEAR),
                             m_serverInfo.GetProgressType.Equals(ACHIEVE_PROGRESS_TYPE.TYPE_COMPLETE));
        #endregion

        SetActive(true);
    }