Esempio n. 1
0
    private void SelectedMission(MissionVO mission)
    {
        m_MissionUID = mission?.Uid ?? 0;
        if (mission != null && mission.MissionType != MissionType.Main)
        {
            m_MissionTID = mission.Tid;
        }
        else
        {
            m_MissionTID = 0;
        }
        State.GetAction(UIAction.StarArea_TrackMission).Enabled = m_MissionTID > 0;
        State.GetAction(UIAction.StarArea_DropMission).Enabled  = m_MissionTID > 0;

        State.GetAction(UIAction.StarArea_TrackMission).State = m_MissionProxy.GetMissionTrack().IndexOf(m_MissionTID) < 0 ? 0 : 1;
    }
Esempio n. 2
0
    /// <summary>
    /// 布局Tip
    /// </summary>
    /// <param name="view"></param>
    /// <param name="data"></param>
    private void LayoutTip(GameObject view, MissionVO mission)
    {
        m_TimeTextDic.Clear();

        CfgEternityProxy configs = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy;

        Transform root = FindComponent <Transform>(view.transform, "TipsScrollView/Viewport/Content/Content");

        Image martkImage = FindComponent <Image>(root, "NameType/Image_Mark");

        TMP_Text nameField = FindComponent <TMP_Text>(root, "NameType/Label_Name");
        Image    typeImage = FindComponent <Image>(root, "NameType/Image_IconType");
        TMP_Text typeField = FindComponent <TMP_Text>(root, "NameType/Label_Type");

        TMP_Text limitField = FindComponent <TMP_Text>(root, "Limit/Label");
        TMP_Text descField  = FindComponent <TMP_Text>(root, "Describe/Label_Describe");

        MissionProxy missionProxy = GameFacade.Instance.RetrieveProxy(ProxyName.MissionProxy) as MissionProxy;

        martkImage.gameObject.SetActive(missionProxy.GetMissionTrack().IndexOf(mission.Tid) != -1);

        nameField.text = TableUtil.GetLanguageString("mission_name_" + mission.Tid);
        typeField.text = TableUtil.GetLanguageString("tips_text_id_" + (1084 + (int)mission.MissionType));

        UIUtil.SetIconImageSquare(typeImage, (uint)configs.GetMissionIconIdBy(mission.MissionType));

        limitField.text = string.Format(TableUtil.GetLanguageString("mission_title_1011"), mission.MissionConfig.LvLimit);
        descField.text  = TableUtil.GetLanguageString("mission_main_detailedDesc_" + mission.Tid);

        //目标列表
        UpdateMissionList(mission, FindComponent <Transform>(root, "TargetList/Targets"));

        //奖励列表
        UpdateRewardList(mission, FindComponent <Transform>(root, "Materials/Resources"));

        //检查时间
        CheckTime();
    }
Esempio n. 3
0
    /// <summary>
    /// 打开任务列表
    /// </summary>
    private void UpdateMissionList()
    {
        OnStateChanged();
        m_TimeTextDic.Clear();
        MissionProxy missionProxy = Facade.RetrieveProxy(ProxyName.MissionProxy) as MissionProxy;
        Dictionary <ulong, MissionVO> mainMissionDic = missionProxy.AllMissionDic[MissionType.Main];
        MissionVO mainMission = null;        //显示主线 或者 待接主线(可不可接无所谓)

        if (mainMissionDic.Count > 0)
        {
            foreach (var item in mainMissionDic)
            {
                mainMission = item.Value;
                break;
            }
        }
        else
        {
            Dictionary <uint, MissionVO> canAcceptList = missionProxy.GetCanAcceptMissions();
            if (canAcceptList != null && canAcceptList.Count > 0)
            {
                foreach (var item in canAcceptList)
                {
                    if (item.Value.MissionType == MissionType.Main)
                    {
                        mainMission = item.Value;
                        break;
                    }
                }
            }
        }

        List <uint>      trackMissionTids    = missionProxy.GetMissionTrack();
        List <MissionVO> trackBranchMissions = new List <MissionVO>();
        List <MissionVO> trackDailyMissions  = new List <MissionVO>();

        //TODO gaoyu

        /* 这里要在下面的临时代码 去掉后 打开它
         * for (int i = 0; i < trackMissionTids?.Count; i++)
         * {
         *      MissionVO mission = missionProxy.GetMissionBy(trackMissionTids[i]);
         *      switch (mission.MissionType)
         *      {
         *              case MissionType.Branch:
         *                      trackBranchMissions.Add(mission);
         *                      break;
         *              case MissionType.Daily:
         *                      trackDailyMissions.Add(mission);
         *                      break;
         *      }
         * }
         */
        //HACK gaoyu
        //这是一个临时需求 by 张子华
        #region 任务 临时支线任务
        Dictionary <ulong, MissionVO> branchMission = missionProxy.AllMissionDic[MissionType.Branch];
        if (branchMission?.Count > 0)
        {
            trackBranchMissions.Add(branchMission.Values.ToList()[0]);
        }
        #endregion

        m_MainMissionAnimator.gameObject.SetActive(mainMission != null);
        m_BranchMissionAnimator.gameObject.SetActive(trackBranchMissions.Count > 0);
        m_DailyMissionAnimator.gameObject.SetActive(trackDailyMissions.Count > 0);

        if (mainMission != null)
        {
            UpdateMissionList(mainMission, FindComponent <RectTransform>("Content/LeftMission/MainMission"));
        }

        for (int i = 0; i < trackBranchMissions.Count; i++)
        {
            UpdateMissionList(trackBranchMissions[i], FindComponent <RectTransform>("Content/LeftMission/SideMission"));
        }

        for (int i = 0; i < trackDailyMissions.Count; i++)
        {
            UpdateMissionList(trackDailyMissions[i], FindComponent <RectTransform>("Content/LeftMission/DailyMission"));
        }
        CheckTime();
    }