コード例 #1
0
    public static bool CalculateIsShowRedPoint()
    {
        bool           sign           = false;
        MissionManager missionManager = GameManager.gameManager.MissionManager;

        foreach (List <Tab_DailyMission> dailyMission in TableManager.GetDailyMission().Values)
        {
            if (!missionManager.IsMissionHaveDone(dailyMission[0].MissionID))
            {
                Tab_MissionBase missionBase = TableManager.GetMissionBaseByID(dailyMission[0].MissionID, 0);
                if (missionBase != null)
                {
                    Tab_MissionOperationNum missionOp = TableManager.GetMissionOperationNumByID(missionBase.LogicID, 0);
                    if (missionOp != null)
                    {
                        if (missionManager.GetMissionParam(dailyMission[0].MissionID, 0) < missionOp.OperationCount)
                        {
                            continue;
                        }
                        else
                        {
                            sign = true;
                            break;
                        }
                    }
                }
            }
        }
        if (!sign)
        {
            int progress = GameManager.gameManager.PlayerDataPool.AwardActivityData.Activeness;
            int index    = 0;
            foreach (List <Tab_ActivenessAward> award in TableManager.GetActivenessAward().Values)
            {
                if (progress >= award[0].MiniActiveness && index < 5)
                {
                    bool claimed = GameManager.gameManager.PlayerDataPool.AwardActivityData.GetActivenessAwardFlag(award[0].Id);
                    if (!claimed)
                    {
                        sign = true;
                        break;
                    }
                }
                index++;
            }
        }
        return(sign);
    }
コード例 #2
0
    /// <summary>
    /// 设置数据
    /// </summary>
    /// <param name="mission"></param>
    public void SetData(Tab_DailyMission mission)
    {
        mMissionId = mission.MissionID;
        mGoToUIId  = mission.UIName;
        MissionManager        missionManager = GameManager.gameManager.MissionManager;
        Tab_MissionDictionary missionDic     = TableManager.GetMissionDictionaryByID(mMissionId, 0);
        Tab_MissionBase       missionBase    = TableManager.GetMissionBaseByID(mMissionId, 0);

        if (missionBase == null || missionBase.LogicType != (int)TableType.Table_OperationNum)
        {
            LogModule.WarningLog("DailyMission Logic Type Error, id = " + mission.Id);
            return;
        }
        Tab_MissionOperationNum missionOp = TableManager.GetMissionOperationNumByID(missionBase.LogicID, 0);

        lblMissionName.text = string.Format(missionDic.MissionName, "", "");
        sprIcon.spriteName  = missionDic.MissionIcon;
        lblDesc.text        = missionDic.MissionDesc;
        lblActive.text      = StrDictionary.GetClientDictionaryString("#{1634}", mission.AwardActiveness);

        int progress = missionOp.OperationCount;

        if (missionManager.IsHaveMission(mMissionId))
        {
            progress = missionManager.GetMissionParam(mMissionId, 0);
            doneArea.SetActive(false);
            rewardArea.SetActive(true);
            btnClaim.SetActive(missionManager.GetMissionState(mMissionId) == (byte)MissionState.Mission_Completed);
            UIEventListener.Get(btnClaim).onClick = ClaimReward;
            SetRewards(mission);
        }
        else
        {
            doneArea.SetActive(true);
            rewardArea.SetActive(false);
            btnClaim.SetActive(false);
        }
        lblProgress.text = progress + "/" + missionOp.OperationCount;
        UpdateProgress(progress, missionOp.OperationCount);
        UIEventListener.Get(btnGoTo).onClick = GoToUI;
    }