少年修仙传客户端代码仓库
client_Zxw
2018-09-04 0b6453d6bd3620eae8086da4c828e3b7cbc7c52d
3240 前端 主界面任务显示和自动选中逻辑修改
5个文件已修改
142 ■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0820_tagMissionDict.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerTaskDatas.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskListTip.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Mount/PlayerMountDatas.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Pet/PlayerPetDatas.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H08_Event/DTC0820_tagMissionDict.cs
@@ -27,12 +27,9 @@
        {
            taskmodel.TaskRefreshes((int)vNetData.MissionID, vNetData.DictKeyLen, vNetData.DictKey, (int)vNetData.DictValue);//任务字典
            taskmodel.Task0820(vNetData);
            taskmodel.GetTaskGetOnNow((int)vNetData.MissionID, vNetData.DictKey);
            PreFightMission.Instance.HandleNewPlayerMission(vNetData);
        }
    }
}
System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -121,7 +121,7 @@
    public int currentMission { get; private set; }
    public int currentMissionState { get; private set; }
    public int GetNowTaskID { get; set; }
    public int GetNowTaskID { get; set; }//获取当前选中条的任务ID
    private bool AutomaticityBool = false;//控制是否自动进行自动任务
    private int retainTaskID = 0;
@@ -183,8 +183,12 @@
    public void OnPlayerLoginOk()
    {
        GlobalTimeEvent.Instance.secondEvent -= secondEvent;
        GlobalTimeEvent.Instance.secondEvent += secondEvent;
        AutomaticityBool = true;
    }
    private void onStageLoadFinish()//地图切换时调用
    {
@@ -848,9 +852,14 @@
            {
                if (MainTaskDic.ContainsKey(_MissionId) && MainCardLevelChange != null && _DictValue == 0)
                {
                    if (IsGetOnBool)
                    {
                        GetNowTaskID = _MissionId;
                    }
                    MainCardLevelChange(_MissionId);
                }
            }
        }
        else
@@ -864,9 +873,16 @@
                    {
                        CardLevelChange(_MissionId);
                    }
                    if (MainTaskDic.ContainsKey(_MissionId) && MainCardLevelChange != null)
                    {
                        MainCardLevelChange(_MissionId);
                    if (MainTaskDic.ContainsKey(_MissionId))
                    {
                        if (IsGetOnBool)
                        {
                            GetNowTaskID = _MissionId;
                        }
                        if (MainCardLevelChange != null)
                        {
                            MainCardLevelChange(_MissionId);
                        }
                    }
                }
            }
@@ -986,15 +1002,6 @@
                    }
                }
            }
            //if (_NpcID == allMissionDict[key].LightList.NpcId)
            //{
            //    if (allMissionDict[key].LightList.StateLight > Light)
            //    {
            //        Light = allMissionDict[key].LightList.StateLight;
            //    }
            //}
        }
        return Light;
@@ -1013,7 +1020,6 @@
                    return;
                }
            }
        }
        if (FairyAuDic.Count != 0)
        {
@@ -1027,8 +1033,6 @@
                }
            }
        }
    }
    public void DailyBountyMove()//日常赏金任务
    {
@@ -1043,7 +1047,6 @@
                    return;
                }
            }
        }
        if (BountyDic.Count != 0)
        {
@@ -1057,7 +1060,6 @@
                }
            }
        }
    }
@@ -1080,7 +1082,6 @@
                }
            }
        }
    }
    private int Autotasking(int taskID)
@@ -1144,7 +1145,6 @@
                        return;
                    }
                }
            }
            else if (FairyAuDic.ContainsKey(_taskID))//仙盟任务
            {
@@ -1248,7 +1248,6 @@
                {
                    break;
                }
                if (MapTransferUtility.Instance.MapTransferDoType != MapTransferUtility.E_MapTransferDoType.None)
                {
                    break;
@@ -1371,7 +1370,6 @@
                    GA_NpcFunc.SetNpcFuncVisible(Npcid, true);
                }
            }
        }
    }
@@ -1493,7 +1491,6 @@
        {
            return -1;
        }
    }
    public int GetQuestState(int _taskId)
@@ -1507,5 +1504,34 @@
            return -1;
        }
    }
    //--------主要用于记录任务列表选中条的智能性 (-_-||)
    public int GetOnTaskId = 0;
    public bool IsGetOnBool = false;
    private  int NeedTime = 10;
    private DateTime dateTimeA;
    public void  GetTaskGetOnNow(int TaskID, string DictKey)//记录下信息字典的ID
    {
        string key1Str = "on_kill_" + TaskID;
        string key2Str = "get_byid_" + TaskID;
        if (TaskID > 1 && (key1Str== DictKey || key2Str== DictKey))
        {
            GetOnTaskId = TaskID;
            dateTimeA =DateTime.Now;
        }
    }
    private void secondEvent()
    {
        TimeSpan timeS =DateTime.Now- dateTimeA;
        int timeSend = timeS.Seconds;
        if (timeSend >= NeedTime)
        {
            IsGetOnBool = true;
            GetOnTaskId = GetNowTaskID;//获取当前选中的ID
        }
        else
        {
            IsGetOnBool = false;
        }
    }
}
System/MainInterfacePanel/TaskListTip.cs
@@ -198,31 +198,9 @@
        private void MainCardLevelChange(int _id)
        {
            TaskScheduling();
            bool IsDefault = true;
            var State = taskmodel.GetTaskStatus(_id);
            if (State == PlayerTaskDatas.TaskStatus.CardLevel)
            {
                IsDefault = false;
            }
            if (IsDefault)
            {
                foreach (var key in taskmodel.MainTaskDic.Keys)
                {
                    if (taskmodel.MainTaskDic[key].MissionState != 3)
                    {
                        taskmodel.GetNowTaskID = key;
                    }
                }
            }
            else
            {
                if (_list.Count > 0)
                {
                    taskmodel.GetNowTaskID = _list[0];
                }
            }
            TaskScheduling();
            TheTaskToGenerate();
            TaskJump(_id);
        }
        private void SetLength()
@@ -350,11 +328,13 @@
        void OnTaskToDelete(int _IdTask)//任务的删除
        {
            var inDungeon = IsDungeon();
            TaskScheduling();
            if (WindowCenter.Instance.CheckOpen<MainInterfaceWin>() && !inDungeon)
            {
                LodingDelTask(_IdTask);
                TheTaskToGenerate();//任务列表需要重新排列重新刷新赋值
               // LodingDelTask(_IdTask);
            }
            TaskScheduling();
        }
@@ -442,9 +422,20 @@
            return mapConfig != null && mapConfig.MapFBType != 0;
        }
        private void TaskJump()
        private void TaskJump(int TaskID=0)
        {
            int type = _list.IndexOf(taskmodel.GetNowTaskID);
            int type = 0;
            if (TaskID == 0)
            {
                type= _list.IndexOf(taskmodel.GetNowTaskID);
            }
            else
            {
                if (_list.Contains(TaskID))
                {
                    type = _list.IndexOf(TaskID);
                }
            }
            if (_list.Count <= 2 || type <= 0)
            {
                m_ScrollRect.verticalNormalizedPosition = 1;
System/Mount/PlayerMountDatas.cs
@@ -113,20 +113,20 @@
        }
    }
    private float time = 0f;
    private DateTime dateTimeA;
    private void secondEvent()
    {
        if (!Wait)
        {
            time+= Time.deltaTime;
            if (time >= 1.5f)
            TimeSpan timeS = DateTime.Now - dateTimeA;
            if (timeS.Seconds >= 2f)
            {
                Wait = true;
            }
        }
        else
        {
            time = 0f;
            dateTimeA = DateTime.Now;
        }
    }
System/Pet/PlayerPetDatas.cs
@@ -135,20 +135,20 @@
            PlayerLoginOkData();
        }
    }
    private float time = 0f;
    private DateTime dateTimeA;
    private void secondEvent()
    {
        if (!Wait)
        {
            time += Time.deltaTime;
            if (time >= 1.5f)
            TimeSpan timeS = DateTime.Now - dateTimeA;
            if (timeS.Seconds>= 2f)
            {
                Wait = true;
            }
        }
        else
        {
            time = 0f;
            dateTimeA = DateTime.Now;
        }
    }