Example #1
0
    void Start()
    {
        int progress = 0, i = 0;

        foreach (var v in AchieveConfiguration.achieveDictionary)
        {
            i++;
            AchieveItem item = SupportTools.AddChild <AchieveItem>(m_Root.gameObject, m_AchieveItemPrefab.gameObject);
            int         id   = v.Key;
            item.achieveName.text   = v.Value.name;
            item.description.text   = v.Value.DescriptionID.ToString();
            item.achieveIcon.sprite = Resources.Load <Sprite>("UI/LaunchScene/AchieveIcon/" + v.Value.IconName);
            if (ConstantData.achieveRecords[id] < v.Value.goal)
            {
                item.progress.gameObject.SetActive(true);
                item.finishFlag.gameObject.SetActive(false);
                item.progress.text = ConstantData.achieveRecords[id] + "/" + v.Value.goal;
                item.backGround    = Color.gray;
            }
            else
            {
                item.progress.gameObject.SetActive(false);
                item.finishFlag.gameObject.SetActive(true);
                item.backGround = Color.white;
                progress++;
            }
        }
        m_Progress.text = progress + "/" + AchieveConfiguration.achieveDictionary.Count;
        m_Root.GetComponent <RectTransform>().sizeDelta = new Vector2(m_Root.cellSize.x, i * m_Root.cellSize.y + (i - 1) * m_Root.spacing.y);
    }
Example #2
0
    public void UpdateFinishAchievementDate()
    {
        if (WindObj == null)
        {
            return;
        }
        if (WindObj.activeSelf != true)
        {
            return;
        }
        if (m_AchieveSate == Achieve_State.Achieve_UnFinish)
        {
            return;
        }
        ClearGrid();
        m_AchieveList.Clear();

        m_ScrollTrans.localPosition = new Vector3(0, 55, 0);
        m_UIPanel.clipOffset        = new Vector2(0, -110);
        m_UIScrollView.ResetPosition();

        int indx = 0;

        foreach (KeyValuePair <byte, tagAchievementConfig> map in FishConfig.Instance.m_AchievementInfo.m_AchievementMap)
        {
            if (!int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetAchievementStates(), map.Key))
            {
                continue;
            }
            if (map.Value.UpperAchievementID != 0 &&
                int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetAchievementStates(), map.Value.UpperAchievementID))
            {
                continue;
            }

            AchieveItem item = new AchieveItem(false);
            item.Init(m_BaseItem);
            tagAchievementStrInfo achievementStrInfo = FishConfig.Instance.m_AchievementInfo.m_AchievementStr[map.Value.AchievementID];
            string strDesc         = achievementStrInfo.AchievementDec;
            string strName         = achievementStrInfo.AchievementName;
            int    starNum         = achievementStrInfo.AchievementStar;
            uint   AchieveValueMax = map.Value.AchievementEventInfo.FinishValue;
            item.AchieveID = map.Value.AchievementID;

            tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(map.Value.RewardID);
            if (pReward == null)
            {
                continue;
            }

            item.ShowAchievementInfo(strDesc, strName, achievementStrInfo.AchievementIcon, pReward, starNum + 1);
            item.UpdateAchievementProgress(AchieveValueMax, AchieveValueMax);
            m_UIGrid[indx % 2].AddChild(item.m_BaseTrans);
            item.ResetScale();
            m_AchieveList.Add(item);
            ++indx;
        }
    }
Example #3
0
 public override void Init(int width, int height)
 {
     base.Init(width, height);
     achieveControls = new AchieveItem[15];
     for (int i = 0; i < 15; i++)
     {
         achieveControls[i] = new AchieveItem(this, 75 + (i % 3) * 180, 35 + (i / 3) * 77, 180, 77);
         achieveControls[i].Init(i);
     }
     ChangeType(1);
 }
Example #4
0
 static int CompareItemBySate(AchieveItem item1, AchieveItem item2)
 {
     if (item1.bFinish && !item2.bFinish)
     {
         return(-1);
     }
     else if (!item1.bFinish && item2.bFinish)
     {
         return(1);
     }
     else
     {
         return(0);
     }
 }
Example #5
0
    AchievementConfig()
    {
        string [] names =
        {
            "new",
            "waning",
            "crescent",
            "third quarter",
            "waning gibbous",
            "full",
            "waxing gibbous",
            "first quarter",
            "waxing cresent"
        };

        for (int i = 1; i <= 8; ++i)
        {
            AchieveItem achieveItem = new AchieveItem();
            achieveItem.condition  = Condition.CLEAR_BY_TYPE;
            achieveItem.id         = i;
            achieveItem.name       = names[i - 1];
            achieveItem.parameters = new int[] { i - 1 };

            _achieveItems[achieveItem.id] = achieveItem;
            _achieveItemList.Add(achieveItem);
        }

        _achieveItems[7].initFinished = true;
        _achieveItems[8].initFinished = true;

        foreach (AchieveItem achieveItem in _achieveItemList)
        {
            if (_achieveGroupByConditon[achieveItem.condition] == null)
            {
                _achieveGroupByConditon[achieveItem.condition] = new ArrayList();
            }

            ArrayList achievesOnThisCondition = (ArrayList)_achieveGroupByConditon[achieveItem.condition];
            achievesOnThisCondition.Add(achieveItem);
        }
    }
Example #6
0
    void InitAchieveItem(RoleAchievementBase Value, int indx)
    {
        AchieveItem item = new AchieveItem(true);

        item.Init(m_BaseItem);
        tagAchievementStrInfo achievementStrInfo = FishConfig.Instance.m_AchievementInfo.m_AchievementStr[Value.pConfig.AchievementID];

        item.AchieveID = Value.pConfig.AchievementID;
        string strDesc         = achievementStrInfo.AchievementDec;
        string strName         = achievementStrInfo.AchievementName;
        int    starNum         = achievementStrInfo.AchievementStar;
        uint   curAchieveValue = PlayerRole.Instance.AchievementManager.GetAchievement(Value.pConfig.AchievementID).pAchievementInfo.AchievementValue;
        uint   AchieveValueMax = Value.pConfig.AchievementEventInfo.FinishValue;

        tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(Value.pConfig.RewardID);

        if (pReward == null)
        {
            return;
        }
        item.ShowAchievementInfo(strDesc, strName, achievementStrInfo.AchievementIcon, pReward, starNum);
        item.UpdateAchievementProgress(curAchieveValue, AchieveValueMax, Value.m_AchievementEventIsFinish);
        m_AchieveList.Add(item);
    }
Example #7
0
    public void UpdateOnlyAchievementDate(byte achieveID)
    {
        if (WindObj == null)
        {
            return;
        }
        if (WindObj.activeSelf != true)
        {
            return;
        }
        if (PlayerRole.Instance.AchievementManager.GetAchievementArray() == null)
        {
            return;
        }
        for (byte i = 0; i < m_AchieveList.Count;)
        {
            if (m_AchieveList[i].AchieveID == achieveID)
            {
                if (PlayerRole.Instance.AchievementManager.GetAchievementArray().ContainsKey(achieveID) == false)
                {
                    if (int256Function.GetBitStates(PlayerRole.Instance.RoleInfo.RoleMe.GetAchievementStates(), achieveID))
                    {
                        string strTips = string.Format(StringTable.GetString("Finish_Achievement"), FishConfig.Instance.m_AchievementInfo.m_AchievementStr[achieveID].AchievementName);
                        GlobalHallUIMgr.Instance.ShowSystemTipsUI(strTips, 1, true);
                    }
                    AchieveItem item = m_AchieveList[i];
                    m_UIGrid[i % 2].RemoveChild(item.m_BaseTrans);
                    item.ShutDown();
                    Utility.ListRemoveAt(m_AchieveList, i);
                }
                else
                {
                    uint curAchieveValue = PlayerRole.Instance.AchievementManager.GetAchievement(achieveID).pAchievementInfo.AchievementValue;
                    uint AchieveValueMax = PlayerRole.Instance.AchievementManager.GetAchievementArray()[achieveID].pConfig.AchievementEventInfo.FinishValue;

                    tagRewardOnce pReward = FishConfig.Instance.GetRewardOnceByID(PlayerRole.Instance.AchievementManager.GetAchievementArray()[achieveID].pConfig.RewardID);
                    if (pReward == null)
                    {
                        continue;
                    }
                    ;

                    //if (pReward.RewardTitleID == 0)
                    //    bHaveName = false;
                    //if (FishConfig.Instance.m_TitleInfo.m_TileMap.ContainsKey( pReward.RewardTitleID) == false)
                    //    bHaveName = false;
                    if (curAchieveValue >= AchieveValueMax)
                    {
                        m_AchieveList[i].UpdateAchievementProgress(curAchieveValue, AchieveValueMax, true);
                    }
                    else
                    {
                        m_AchieveList[i].UpdateAchievementProgress(curAchieveValue, AchieveValueMax);
                    }
                }
                break;
            }
            else
            {
                ++i;
                //新增一个成就
                if ((i == m_AchieveList.Count) && (PlayerRole.Instance.AchievementManager.GetAchievementArray().ContainsKey(achieveID) == true))
                {
                    //  InitAchieveItem(PlayerRole.Instance.AchievementManager.GetAchievementArray()[achieveID], m_AchieveList.Count);
                    UpdateAchievementDate();
                }
            }
        }
    }