少年修仙传客户端代码仓库
client_Zxw
2018-09-19 9d42306ea2ec26df95a2079400e032665fd1c866
3654 被动技能任务点击弹窗 / 【前端】被动技能任务点击弹窗
6个文件已修改
2个文件已添加
398 ■■■■ 已修改文件
System/MainInterfacePanel/FlyingShoesTask.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerMainDate.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SideMission.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SkillTaskWin.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SkillTaskWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskListTip.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillPassWin.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FlyingShoesTask.cs
@@ -120,33 +120,6 @@
            m_ImgSelected.SetActive(true);
            taskmodel.GetNowTaskID = Task_ID;
            if (mainModel.TaskId_Skill1.Contains(Task_ID))//特殊支线任务解锁被动技能的
            {
                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                {
                    int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
                    if (itemNumber >= mainModel.ItemNumber)
                    {
                        taskmodel.CompletionOfTask(Task_ID);
                        WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                    }
                    else
                    {
                        StateDetermination();
                        var mapModel = ModelCenter.Instance.GetModel<MapModel>();
                        var point = mapModel.GetRecommendHangPoint();
                        var config = Config.Instance.Get<MapEventPointConfig>(point);
                        MapTransferUtility.Instance.MoveToNPC(config.NPCID);
                    }
                }
                else
                {
                    WindowCenter.Instance.Open<HoistingWin>();
                }
                return;
            }
            if (mainModel.WingTask == Task_ID && ((int)taskmodel.GetTaskStatus(Task_ID) == 0 || (int)taskmodel.GetTaskStatus(Task_ID) == -5))//关于特殊翅膀任务
            {
                if (playerPack.GetSinglePackModel(PackType.rptItem) == null)
@@ -279,24 +252,6 @@
        private void OnClickDeliveryButton()//传送符
        {
            //--------------特殊任务的传送逻辑
            if (mainModel.TaskId_Skill1.Contains(Task_ID))
            {
                var mapModel = ModelCenter.Instance.GetModel<MapModel>();
                var point = mapModel.GetRecommendHangPoint();
                var config = Config.Instance.Get<MapEventPointConfig>(point);
                var flyBootOwn = ModelCenter.Instance.GetModel<PlayerPackModel>().GetItemCountByID(PackType.rptItem, GeneralConfig.Instance.flyBootItemId);
                var isVipFreeTransfer = ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0;
                if (isVipFreeTransfer || flyBootOwn > 0)
                {
                    MapTransferUtility.Instance.MissionFlyTo(config.MapID, config.NPCID);
                }
                else
                {
                    MapTransferUtility.Instance.MoveToNPC(config.NPCID);
                }
                return;
            }
            mainModel.FlyShoseTaskID = Task_ID;
            string _FlyID = Config.Instance.Get<FuncConfigConfig>("TransportPay").Numerical1;
            int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, int.Parse(_FlyID));//获取飞鞋的数量
@@ -380,43 +335,8 @@
            {
                m_TitleText.text = "<color=#ec4bf6>" + TaskTitle(TaskID) + "</color>";
            }
            int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
            if (mainModel.TaskId_Skill1.Contains(TaskID))
            {
                if (itemNumber >= mainModel.ItemNumber)
                {
                    m_TitleText.text = "<color=#109d06>" + TaskTitle(TaskID) + "</color>";
                }
                else
                {
                    m_TitleText.text = "<color=#feed28>" + TaskTitle(TaskID) + "</color>";
                }
            }
            string str = taskmodel.allMissionDict[TaskID].InforList;
            var taskinfo = Config.Instance.Get<TASKINFOConfig>(str);
            if (mainModel.TaskId_Skill1.Contains(TaskID))//特殊任务
            {
                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                {
                    string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
                    string Str_B = Language.Get("PassiveSkillTask2");
                    if (itemNumber >= mainModel.ItemNumber)
                    {
                        m_ContentText.text = Str_B;
                    }
                    else
                    {
                        m_ContentText.text = Str_A;
                    }
                }
                else
                {
                    string Str_C = string.Format(Language.Get("PassiveSkillTask5"), mainModel.TaskLv);
                    m_ContentText.text = Str_C;
                }
            }
            else
            {
                if (taskinfo != null)
                {
                    m_ContentText.text = taskinfo.show_writing;
@@ -425,7 +345,6 @@
                {
                    DebugEx.LogError("任务表格PyTaskInfo配置缺失");
                    return;
                }
            }
            bool isOPenTransferButton = HrefAnalysis.Inst.ContainsKey(taskinfo.show_writing, "flynpc");
            if (isOPenTransferButton && !IsKaJiBool)
@@ -436,20 +355,7 @@
            {
                m_DeliveryButton.gameObject.SetActive(false);
            }
            //----------------特殊采集魔团任务的传送云处理
            if (mainModel.TaskId_Skill1.Contains(TaskID))//特殊任务
            {
                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                {
                    m_DeliveryButton.gameObject.SetActive(true);
                }
                else
                {
                    m_DeliveryButton.gameObject.SetActive(false);
                }
            }
            m_ContentText.raycastTarget = false;
            if (taskmodel._DicTaskInformation.ContainsKey(TaskID))
            {
                Dictionary<string, string> SkillDic = new Dictionary<string, string>();
System/MainInterfacePanel/PlayerMainDate.cs
@@ -115,12 +115,9 @@
    public bool IsEmperor = false;
    //---------关于任务需要的数据
    public List<int> TaskId_Skill = new List<int>();
    public List<int> TaskId_Skill1 = new List<int>();
    public int ItemID = 0;
    public int UnitPrice = 0;
    public int ItemNumber = 0;
    public int TaskLv = 0;//任务等级
    public List<int> TaskId_Skill = new List<int>();//任务ID
    public List<int> SkillIndex = new List<int>();//技能槽索引
    public List<int> NeedFairyJade = new List<int>();//所需解锁仙玉
    //-----关于支线翅膀任务的特殊逻辑
    public int WingTask = 0;
@@ -169,7 +166,8 @@
    private void GetPassiveSkillTask()//获取任务数据
    {
        TaskId_Skill.Clear();
        TaskId_Skill1.Clear();
        SkillIndex.Clear();
        NeedFairyJade.Clear();
        var PassiveSkillTaskconfig = Config.Instance.Get<FuncConfigConfig>("PassiveSkillTask");
        int[] TaskId_SkillInt = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical1);
        for (int i = 0; i < TaskId_SkillInt.Length; i++)
@@ -179,17 +177,12 @@
        int[] TaskId_SkillInt1 = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical2);
        for (int i = 0; i < TaskId_SkillInt1.Length; i++)
        {
            TaskId_Skill1.Add(TaskId_SkillInt1[i]);
            SkillIndex.Add(TaskId_SkillInt1[i]);
        }
        int[] PassiveSkillTask = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical3);
        string str4 =PassiveSkillTaskconfig.Numerical4;
        TaskLv = int.Parse(str4);
        if (PassiveSkillTask.Length >= 3)
        int[] TaskId_SkillInt2 = ConfigParse.GetMultipleStr<int>(PassiveSkillTaskconfig.Numerical3);
        for (int i = 0; i < TaskId_SkillInt2.Length; i++)
        {
            ItemID = PassiveSkillTask[0];
            UnitPrice = PassiveSkillTask[1];
            ItemNumber = PassiveSkillTask[2];
            NeedFairyJade.Add(TaskId_SkillInt2[i]);
        }     
    }
System/MainInterfacePanel/SideMission.cs
@@ -45,8 +45,6 @@
        {
            TaskIdNow = 0;
            _TaskRamusList.OnRefreshCell += OnRefreshGridCell;
            playerPack.RefreshItemCountAct += RefreshItemCountAct;
            playerPack.ItemCntReduceAct += ItemCntReduceAct;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            OnCreateGridLineCell(_TaskRamusList);
        }
@@ -54,101 +52,16 @@
        private void OnDisable()
        {
            _TaskRamusList.OnRefreshCell -= OnRefreshGridCell;
            playerPack.RefreshItemCountAct -= RefreshItemCountAct;
            playerPack.ItemCntReduceAct -= ItemCntReduceAct;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
        }
        private void Updatefighting(PlayerDataRefresh obj)
        {
            if (obj == PlayerDataRefresh.LV)
            {
                OpenShowButton();
            }
        }
        private void OpenShowButton()
        {
            if (mainModel.TaskId_Skill1.Contains(TaskIdNow))
            {
                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                {
                    _Btn_Forward.gameObject.SetActive(true);
                }
                else
                {
                    _Btn_Forward.gameObject.SetActive(false);
                }
            }
        }
        private void ItemCntReduceAct(PackType arg1, int arg2, int arg3)
        {
            if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
            {
                foreach (var key in taskmodel.SideQuestsDic.Keys)
                {
                    if (mainModel.TaskId_Skill1.Contains(key))
                    {
                        _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见
                    }
                }
            }
        }
        private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
        {
            if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
            {
                foreach (var key in taskmodel.SideQuestsDic.Keys)
                {
                    if (mainModel.TaskId_Skill1.Contains(key))
                    {
                        _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见
                    }
                }
            }
        }
        private void ForwardButton()
        {
            if (mainModel.TaskId_Skill1.Contains(TaskIdNow))
            {
                int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
                if (itemNumber >= mainModel.ItemNumber)
                {
                    taskmodel.CompletionOfTask(TaskIdNow);
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                }
                else
                {
                    int Gold = (int)UIHelper.GetMoneyCnt(1);//仙玉
                    string strNull = string.Empty;
                    int needNumber = (mainModel.ItemNumber - itemNumber) * mainModel.UnitPrice;//所需金额
                    strNull = string.Format(Language.Get("PassiveSkillTask3"), needNumber);
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
                    {
                        if (isOk)
                        {
                            if (Gold >= needNumber)
                            {
                                taskmodel.CompletionOfTask(TaskIdNow);
                                WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                            }
                            else
                            {
                                if (VersionConfig.Get().isBanShu)
                                {
                                    SysNotifyMgr.Instance.ShowTip("GoldErr");
                                    return;
                                }
                                WindowCenter.Instance.Open<RechargeTipWin>();
                            }
                        }
                    });
                }
                return;
            }
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
            {
                taskmodel.CompletionOfTask(TaskIdNow);
@@ -211,7 +124,6 @@
                    if (TaskId != TaskIdNow)
                    {
                        TaskIdNow = TaskId;
                        OpenShowButton();
                        _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见
                    }
                });
@@ -228,37 +140,12 @@
            _Text_TaskDescribe.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Desclist).show_writing;//任务描述
            string strINfor = taskmodel.SideQuestsDic[taskID].InforList;
            string str = string.Empty;
            if (mainModel.TaskId_Skill1.Contains(taskID))
            {
                if (PlayerDatas.Instance.baseData.LV >= mainModel.TaskLv)
                {
                    int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
                    if (itemNumber >= mainModel.ItemNumber)
                    {
                        string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, mainModel.ItemNumber);
                        str = Str_A;
                    }
                    else
                    {
                        string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
                        str = Str_A;
                    }
                }
                else
                {
                    string Str_C = string.Format(Language.Get("PassiveSkillTask5"), mainModel.TaskLv);
                    str = Str_C;
                }
            }
            else
            {
                str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
            }
            str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty);
            str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty);
            _Text_TaskTarget.text = str;//任务目标
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3 || mainModel.TaskId_Skill1.Contains(taskID))//能够进行立即完成的支线任务
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)//能够进行立即完成的支线任务
            {
                _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z"));
            }
System/MainInterfacePanel/SkillTaskWin.cs
New file
@@ -0,0 +1,49 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, September 18, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class SkillTaskWin : Window
    {
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
    }
}
System/MainInterfacePanel/SkillTaskWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0b9954631fd01f04e9b1422443d7cb4c
timeCreated: 1537273256
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/MainInterfacePanel/TaskListTip.cs
@@ -102,8 +102,6 @@
            model.collectingTreasureChangeEvent += OnCollectingTreasureChangeEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            TreasureNewGotWin.CloseTreasureNewGotWinEvent += CloseTreasureNewGotWinEvent;
            playerPack.RefreshItemCountAct += RefreshItemCountAct;
            playerPack.ItemCntReduceAct += ItemCntReduceAct;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            OnCollectingTreasureChangeEvent(TreasureCategory.Human);
            TaskScheduling();//任务排序  1
@@ -134,54 +132,13 @@
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
            PlayerTaskDatas.MainCardLevelChange -= MainCardLevelChange;//卡级任务修改
            playerPack.RefreshItemCountAct -= RefreshItemCountAct;
            playerPack.ItemCntReduceAct -= ItemCntReduceAct;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
        }
        private void Updatefighting(PlayerDataRefresh obj)//等级刷新
        {
            if (obj == PlayerDataRefresh.LV)
            {
                foreach (var key in taskmodel.SideQuestsDic.Keys)
                {
                    if (mainModel.TaskId_Skill1.Contains(key))
                    {
                        TaskIdUpdate(key);
                    }
                }
            }
        }
        private void ItemCntReduceAct(PackType arg1, int arg2, int arg3)
        {
            if (arg1 == PackType.rptItem && arg3== mainModel.ItemID)
            {
                foreach (var key in taskmodel.SideQuestsDic.Keys)
                {
                    if (mainModel.TaskId_Skill1.Contains(key))
                    {
                        TaskIdUpdate(key);
                    }
                }
            }
            
        }
        private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
        {
            if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
            {
                foreach (var key in taskmodel.SideQuestsDic.Keys)
                {
                    if (mainModel.TaskId_Skill1.Contains(key))
                    {
                        TaskIdUpdate(key);
                    }
                }
            }
        }
        private void TaskIdUpdate(int taskId)
        {
            int leng = Content.childCount;
System/Skill/SkillModel.cs
@@ -87,7 +87,7 @@
                taskHoleDict = ConfigParse.GetDic<int, int>(funcCfg.Numerical4);
            }
            funcCfg = Config.Instance.Get<FuncConfigConfig>("PassiveSkillTask");
            immediatelyUnlockTask = int.Parse(funcCfg.Numerical2);
            immediatelyUnlockTask = 0;//int.Parse(funcCfg.Numerical2);
            funcCfg = Config.Instance.Get<FuncConfigConfig>("PassSkillEquipGetWay");
            if (funcCfg != null)
            {
System/Skill/SkillPassWin.cs
@@ -627,35 +627,35 @@
        void ImmediatelyUnlock()
        {
            var count = pack.GetItemCountByID(PackType.rptItem, taskMain.ItemID);
            if (count >= taskMain.ItemNumber)
            {
                task.CompletionOfTask(model.immediatelyUnlockTask);
            }
            else
            {
                var requireJade = (ulong)((taskMain.ItemNumber - count) * taskMain.UnitPrice);
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("PassiveSkillTask3", requireJade),
                    (bool isOk) =>
                {
                    if (isOk)
                    {
                        if (UIHelper.GetMoneyCnt(1) >= requireJade)
                        {
                            task.CompletionOfTask(model.immediatelyUnlockTask);
                        }
                        else
                        {
                            if (VersionConfig.Get().isBanShu)
                            {
                                SysNotifyMgr.Instance.ShowTip("GoldErr");
                                return;
                            }
                            WindowCenter.Instance.Open<RechargeTipWin>();
                        }
                    }
                });
            }
            //var count = pack.GetItemCountByID(PackType.rptItem, taskMain.ItemID);
            //if (count >= taskMain.ItemNumber)
            //{
            //    task.CompletionOfTask(model.immediatelyUnlockTask);
            //}
            //else
            //{
            //    var requireJade = (ulong)((taskMain.ItemNumber - count) * taskMain.UnitPrice);
            //    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("PassiveSkillTask3", requireJade),
            //        (bool isOk) =>
            //    {
            //        if (isOk)
            //        {
            //            if (UIHelper.GetMoneyCnt(1) >= requireJade)
            //            {
            //                task.CompletionOfTask(model.immediatelyUnlockTask);
            //            }
            //            else
            //            {
            //                if (VersionConfig.Get().isBanShu)
            //                {
            //                    SysNotifyMgr.Instance.ShowTip("GoldErr");
            //                    return;
            //                }
            //                WindowCenter.Instance.Open<RechargeTipWin>();
            //            }
            //        }
            //    });
            //}
        }
        private void OnClickFunc(CellView cell)