少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-27 44b5b3201f08c119429f5ec6da982677e47569a2
System/MainInterfacePanel/TaskListTip.cs
@@ -22,60 +22,21 @@
        public float ParentPosition = 74;
        public float TaskScrollViewTaskScrollView = 230f;
        public float m_SizeHeight = 72f;//单条任务的宽度
        [SerializeField] Transform Parent;//父级
        [SerializeField] TreasureCollectBriefInfoBehaviour m_HumanTreasure;//人族法宝
        [SerializeField] Transform TaskScrollView;//任务条位置
        [SerializeField] Transform Content;//任务条父节点
        [SerializeField] ScrollRect m_ScrollRect;
        public int TaskId = 0;//任务ID
        List<int> _list = new List<int>();//用来控制进行排序
        TreasureModel m_Model;
        TreasureModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TreasureModel>()); } }
        TaskModel m_TaskModel;
        TaskModel taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<TaskModel>()); } }
        PackModel _playerPack;
        PackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); } }
        PlayerMainDate m_MainModel;
        PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        TaskModel taskmodel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
        List<int> ListSort = new List<int>();//用于排列顺序(未卡级)
        List<int> ListSort1 = new List<int>();//用于排序(卡级)
        private void Start()
        {
        }
        void DisplayTreasure(int _treasureIdHuman)
        {
            if (FuncOpen.Instance.IsFuncOpen(106) && model.newGotTreasureId != TreasureModel.TREASURE_GUIDE_ID)
            {
                m_HumanTreasure.gameObject.SetActive(true);
                m_HumanTreasure.Display();
            }
            else
            {
                m_HumanTreasure.gameObject.SetActive(false);
                m_HumanTreasure.Dispose();
            }
        }
        void UpdateControllerPosition()//更新控件位置
        {
            if (m_HumanTreasure.gameObject.activeSelf)
            {
                (Parent as RectTransform).sizeDelta = (Parent as RectTransform).sizeDelta.SetY(ParentPosition);
                (TaskScrollView as RectTransform).sizeDelta = (TaskScrollView as RectTransform).sizeDelta.SetY(TaskScrollViewTaskScrollView - ParentPosition);
            }
            else
            {
                (Parent as RectTransform).sizeDelta = (Parent as RectTransform).sizeDelta.SetY(0);
                (TaskScrollView as RectTransform).sizeDelta = (TaskScrollView as RectTransform).sizeDelta.SetY(TaskScrollViewTaskScrollView);
            }
        }
        public void Init()//初始化
        {
            var TaskSortType = FuncConfigConfig.Get("TaskSortType");
            var RenzhuTaskID = FuncConfigConfig.Get("RenzhuTaskID");
            if (ListSort.Count <= 0)
@@ -94,11 +55,11 @@
                    ListSort1.Add(TaskSortType2[i]);
                }
            }
            TaskModel.Event_TaskToAdd += TaskToAdd;//任务的添加
            TaskModel.Event_TaskRefreshes += TaskRefreshes;//任务的刷新
            TaskModel.Event_TaskToDelete += OnTaskToDelete;//任务的删除
            TaskModel.Event_TaskInformation += TaskInformation;//任务字典信息
            TaskModel.MainCardLevelChange += MainCardLevelChange;//卡级任务修改
            TaskModel.CardLevelChange += CardLevelChangeEvent;//卡级任务状态改变
            model.collectingTreasureChangeEvent += OnCollectingTreasureChangeEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
@@ -115,7 +76,25 @@
        private void CloseTreasureNewGotWinEvent()
        {
            DisplayTreasure(model.collectingHuman);
            UpdateControllerPosition();
        }
        private void OnCollectingTreasureChangeEvent(TreasureCategory _category)
        {
            DisplayTreasure(model.collectingHuman);
        }
        void DisplayTreasure(int _treasureIdHuman)
        {
            if (model.newGotTreasureId != TreasureModel.TREASURE_GUIDE_ID)
            {
                m_HumanTreasure.gameObject.SetActive(true);
                m_HumanTreasure.Display();
            }
            else
            {
                m_HumanTreasure.gameObject.SetActive(false);
                m_HumanTreasure.Dispose();
            }
        }
        private void OnFuncStateChangeEvent(int obj)
@@ -132,11 +111,10 @@
            TaskModel.Event_TaskToDelete -= OnTaskToDelete;//任务的删除
            TaskModel.Event_TaskInformation -= TaskInformation;//任务字典信息
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
            TaskModel.MainCardLevelChange -= MainCardLevelChange;//卡级任务修改
            TaskModel.CardLevelChange -= CardLevelChangeEvent;//卡级任务状态改变
            TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
            PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;//数据的刷新(h0418)
            StopAllCoroutines();
            StopAllCoroutines();
        }
        private void Updatefighting(PlayerDataType obj)//等级刷新
@@ -151,8 +129,8 @@
                        int leng = Content.childCount;
                        for (int i = 0; i < leng; i++)
                        {
                            GameObject childObj = Content.GetChild(i).gameObject;
                            TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                            var childObj = Content.GetChild(i).gameObject;
                            var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                            if (childObj.activeSelf && childObjTaskType.TaskID == key)
                            {
                                childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(key);
@@ -162,6 +140,7 @@
                }
            }
        }
        private void CardLevelChangeEvent(int taskID)//卡级状态改变
        {
            if (taskmodel.allMissionDict.ContainsKey(taskID) && taskmodel.allMissionDict[taskID].Type == 3)
@@ -170,12 +149,6 @@
                ChangeSort();
                TaskJump(taskID);
            }
        }
        private void MainCardLevelChange(int _id)//主线任务卡级状态改变
        {
            //TaskScheduling();
            //ChangeSort();
            //TaskJump(_id);
        }
        private void SetLength()
@@ -195,8 +168,8 @@
            int leng = Content.childCount;
            for (int i = 0; i < leng; i++)
            {
                GameObject childObj = Content.GetChild(i).gameObject;
                TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                var childObj = Content.GetChild(i).gameObject;
                var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                childObjTaskType.ClearTaskName();
                if (childObj.activeSelf)
                {
@@ -219,16 +192,15 @@
                childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(_list[i]);
            }
        }
        void TaskToAdd(int MissionID, int MissionState, int DiscriptionIndex)//添加任务
        {
            if (MissionID == 2000 || MissionID == 3000 || MissionState == 3 || MissionState == 0)
            {
                return;
            }
            if (Parent.gameObject.activeInHierarchy)
            {
                StartCoroutine(WaitAddTask(MissionID, MissionState));
            }
            StartCoroutine(WaitAddTask(MissionID, MissionState));
        }
        IEnumerator WaitAddTask(int MissionID, int MissionState)
@@ -244,19 +216,20 @@
                    TaskAddAndDelete(MissionID);
                    if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing)
                    {
                        yield break ;
                        yield break;
                    }
                    TaskJump(MissionID);
                    yield break;
                }
            }
        }
        private void TaskAddAndDelete(int TaskID)
        {
            for (int i = 0; i < Content.childCount; i++)
            {
                GameObject childObj = Content.GetChild(i).gameObject;
                TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                var childObj = Content.GetChild(i).gameObject;
                var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                if (i < _list.Count)
                {
                    if (!childObj.activeSelf)
@@ -306,8 +279,8 @@
            {
                if (i <= Content.childCount - 1)
                {
                    GameObject childObj = Content.GetChild(i).gameObject;
                    TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                    var childObj = Content.GetChild(i).gameObject;
                    var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                    if (childObj.activeSelf && childObjTaskType.TaskID == MissionID)
                    {
                        if (childObjTaskType.m_TypeBool)
@@ -345,8 +318,8 @@
        {
            for (int i = 0; i < Content.childCount; i++)
            {
                GameObject obj = Content.GetChild(i).gameObject;
                TaskType taskType = obj.GetComponent<TaskType>();
                var obj = Content.GetChild(i).gameObject;
                var taskType = obj.GetComponent<TaskType>();
                if (obj.activeSelf && taskType.TaskID == taskID)
                {
                    taskType.TaskID = 0;
@@ -357,16 +330,15 @@
                }
            }
        }
        private void ChangeSort()//关于任务变更排序
        {
            for (int i = 0; i < _list.Count; i++)
            {
                for (int j = 0; j < Content.childCount; j++)
                {
                    GameObject obj = Content.GetChild(j).gameObject;
                    TaskType taskType = obj.GetComponent<TaskType>();
                    var obj = Content.GetChild(j).gameObject;
                    var taskType = obj.GetComponent<TaskType>();
                    if (taskType.TaskID != 0 && taskType.TaskID == _list[i])
                    {
                        int Inedx = _list.IndexOf(taskType.TaskID);
@@ -382,8 +354,8 @@
            int leng = Content.childCount;
            for (int i = 0; i < leng; i++)
            {
                GameObject childObj = Content.GetChild(i).gameObject;
                TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                var childObj = Content.GetChild(i).gameObject;
                var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                if (childObj.activeSelf && childObjTaskType.TaskID == _Taskid)
                {
                    childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(_Taskid);
@@ -422,18 +394,19 @@
                _list.Sort(Compare1);//卡级排序   
            }
        }
        int Compare(int x, int y)//默认排序(无卡级)
        {
            MissionDetailDates xPack = taskmodel.allMissionDict[x];
            MissionDetailDates yPack = taskmodel.allMissionDict[y];
            bool IsMainTaskx = xPack.Type == 0;
            bool IsMainTasky = yPack.Type == 0;
            var xPack = taskmodel.allMissionDict[x];
            var yPack = taskmodel.allMissionDict[y];
            var IsMainTaskx = xPack.Type == 0;
            var IsMainTasky = yPack.Type == 0;
            if (IsMainTaskx.CompareTo(IsMainTasky) != 0)//优先主线
            {
                return -IsMainTaskx.CompareTo(IsMainTasky);
            }
            bool IsStateTaskx = xPack.MissionState == 2;
            bool IsStateTasky = yPack.MissionState == 2;
            var IsStateTaskx = xPack.MissionState == 2;
            var IsStateTasky = yPack.MissionState == 2;
            if (IsStateTaskx.CompareTo(IsStateTasky) != 0)//优先可领取
            {
                return -IsStateTaskx.CompareTo(IsStateTasky);
@@ -454,16 +427,16 @@
        int Compare1(int x, int y)//排序有卡级
        {
            MissionDetailDates xPack = taskmodel.allMissionDict[x];
            MissionDetailDates yPack = taskmodel.allMissionDict[y];
            bool IsMainTaskx = xPack.Type == 0;
            bool IsMainTasky = yPack.Type == 0;
            var xPack = taskmodel.allMissionDict[x];
            var yPack = taskmodel.allMissionDict[y];
            var IsMainTaskx = xPack.Type == 0;
            var IsMainTasky = yPack.Type == 0;
            if (IsMainTaskx.CompareTo(IsMainTasky) != 0)//优先主线
            {
                return -IsMainTaskx.CompareTo(IsMainTasky);
            }
            bool IsStateTaskx = xPack.MissionState == 2;
            bool IsStateTasky = yPack.MissionState == 2;
            var IsStateTaskx = xPack.MissionState == 2;
            var IsStateTasky = yPack.MissionState == 2;
            if (IsStateTaskx.CompareTo(IsStateTasky) != 0)//优先可领取
            {
                return -IsStateTaskx.CompareTo(IsStateTasky);
@@ -480,12 +453,6 @@
            }
            return 1;
        }
        private void OnCollectingTreasureChangeEvent(TreasureCategory _category)
        {
            DisplayTreasure(model.collectingHuman);
            UpdateControllerPosition();
        }
        private bool IsDungeon()//判断是否在副本中
@@ -550,7 +517,7 @@
            {
                bool _IsBool = false;
                var taskList = TaskListConfig.Get(taskmodel.GetNowTaskID);
                if (taskList!=null)
                if (taskList != null)
                {
                    _IsBool = true;
                }
@@ -561,7 +528,7 @@
                        if (_IsBool)//主线卡级
                        {
                            var task_List = TaskListConfig.Get(_list[i]);
                            if (task_List==null)
                            if (task_List == null)
                            {
                                taskmodel.GetNowTaskID = _list[i];
                                return;
@@ -571,11 +538,12 @@
                        {
                            taskmodel.GetNowTaskID = _list[i];
                            return;
                        }
                    }
                        }
                    }
                }
            }
        }
    }
}