少年修仙传客户端代码仓库
client_linchunjie
2019-04-20 5e08b7e7ad63535284b9d5f6d0dd72c891e99ced
3335 法宝界面修改
1个文件已删除
1 文件已重命名
8个文件已修改
1个文件已添加
2071 ■■■■ 已修改文件
Core/GameEngine/Model/Config/TaskListConfig.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/TaskListConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUITreasureModelWrap.cs 1753 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/XLuaGenAutoRegister.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/HumanThreeDimensionsBehaviour.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/HumanTreasureTaskCell.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/HumanTreasureTaskCell.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/HumanTreasureWin.cs 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureCollectBriefInfoBehaviour.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureComponent.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureModel.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/TaskListConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Thursday, February 14, 2019
//    [  Date ]:           Saturday, April 20, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -13,15 +13,17 @@
public partial class TaskListConfig
{
    public readonly int TaskID;
    public readonly int ChapterID;
    public readonly string ChapterName;
    public readonly string TaskName;
    public readonly string TaskDescribe;
    public readonly string TaskRewards;
    public readonly string TaskTarget;
    public readonly int[] CollectNPC;
    public readonly int FabaoID;
    public readonly int TaskID;
    public readonly int ChapterID;
    public readonly string ChapterName;
    public readonly string TaskName;
    public readonly string TaskDescribe;
    public readonly string TaskRewards;
    public readonly string TaskTarget;
    public readonly int[] CollectNPC;
    public readonly int FabaoID;
    public readonly int clue;
    public readonly string clueName;
    public TaskListConfig()
    {
@@ -33,28 +35,32 @@
        {
            var tables = input.Split('\t');
            int.TryParse(tables[0],out TaskID);
            int.TryParse(tables[1],out ChapterID);
            ChapterName = tables[2];
            TaskName = tables[3];
            TaskDescribe = tables[4];
            TaskRewards = tables[5];
            TaskTarget = tables[6];
            int.TryParse(tables[0],out TaskID);
            int.TryParse(tables[1],out ChapterID);
            ChapterName = tables[2];
            TaskName = tables[3];
            TaskDescribe = tables[4];
            TaskRewards = tables[5];
            TaskTarget = tables[6];
            string[] CollectNPCStringArray = tables[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            CollectNPC = new int[CollectNPCStringArray.Length];
            for (int i=0;i<CollectNPCStringArray.Length;i++)
            {
                 int.TryParse(CollectNPCStringArray[i],out CollectNPC[i]);
            }
            int.TryParse(tables[8],out FabaoID);
            }
            int.TryParse(tables[8],out FabaoID);
            int.TryParse(tables[9],out clue);
            clueName = tables[10];
        }
        catch (Exception ex)
        {
Core/GameEngine/Model/Config/TaskListConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: f73c099fbaf92ca46b2efc87300b8342
timeCreated: 1550121603
timeCreated: 1555731989
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUITreasureModelWrap.cs
File was deleted
Lua/Gen/XLuaGenAutoRegister.cs
@@ -1375,9 +1375,6 @@
            translator.DelayWrapLoader(typeof(PwdKeyboard), PwdKeyboardWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.TreasureModel), SnxxzUITreasureModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.TreasureFindHostModel), SnxxzUITreasureFindHostModelWrap.__Register);
        
        
System/Treasure/HumanThreeDimensionsBehaviour.cs
@@ -8,8 +8,6 @@
    public class HumanThreeDimensionsBehaviour : MonoBehaviour
    {
        [SerializeField] Canvas m_TreasureCanva;
        [SerializeField] Text m_Chapter;
        [SerializeField] Text m_ChapterName;
        [SerializeField] Transform m_ContainerLock;
        [SerializeField] Transform m_ContainerCollecting;
        [SerializeField] Text m_TreasureName;
@@ -30,17 +28,8 @@
        void DisplayBase()
        {
            List<int> tasks = null;
            if (model.TryGetTreasureTasks(treasureId, out tasks))
            {
                var config = TreasureConfig.Get(treasureId);
                var taskConfig = TaskListConfig.Get(tasks[0]);
                var chapterArray = taskConfig.ChapterName.Split(split_identify, System.StringSplitOptions.RemoveEmptyEntries);
                var chapterName = chapterArray.Length > 1 ? chapterArray[1] : chapterArray[0];
                m_Chapter.text = chapterArray[0];
                m_ChapterName.text = chapterName;
                m_TreasureName.text = string.Format("获得{0}", config.Name);
            }
            var config = TreasureConfig.Get(treasureId);
            m_TreasureName.text = string.Format("获得{0}", config.Name);
        }
        void DisplayState()
System/Treasure/HumanTreasureTaskCell.cs
New file
@@ -0,0 +1,91 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class HumanTreasureTaskCell : CellView
    {
        [SerializeField] Text m_TreasureName;
        [SerializeField] Text m_ClueName;
        [SerializeField] Transform m_ContainerCollected;
        [SerializeField] Transform m_ContainerCollecting;
        [SerializeField] Button m_Goto;
        [SerializeField] Transform m_ContainerCutline;
        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
        private void Awake()
        {
            m_Goto.AddListener(Goto);
        }
        public void Display(int clue)
        {
            var config = TreasureConfig.Get(model.selectedTreasure);
            m_TreasureName.text = StringUtility.Contact("【", config.Name, "】");
            Dictionary<int, List<int>> clues;
            if (!model.TryGetTreasureClues(model.selectedTreasure, out clues)
                || !clues.ContainsKey(clue))
            {
                return;
            }
            var tasks = clues[clue];
            var taskConfig = TaskListConfig.Get(tasks[0]);
            m_ClueName.text = taskConfig.clueName;
            var clueState = 0;
            Treasure treasure;
            var taskId = taskModel.GetLatestMainTaskId();
            var taskState = taskModel.GetQuestState(taskId);
            if (model.TryGetTreasure(model.selectedTreasure, out treasure))
            {
                if (treasure.state == TreasureState.Collected)
                {
                    clueState = 2;
                }
                else
                {
                    var lastTask = tasks[tasks.Count - 1];
                    if (taskId > lastTask || (taskId == lastTask && taskState == 3))
                    {
                        clueState = 2;
                    }
                    else
                    {
                        if (tasks.Contains(taskId))
                        {
                            clueState = 1;
                        }
                        else
                        {
                            clueState = 0;
                        }
                    }
                }
            }
            m_ContainerCollected.gameObject.SetActive(clueState == 2);
            m_ContainerCollecting.gameObject.SetActive(clueState == 1);
            var lastClue = clues.Keys.Last();
            m_ContainerCutline.gameObject.SetActive(lastClue != clue);
        }
        private void Goto()
        {
            WindowJumpMgr.Instance.ClearJumpData();
            WindowCenter.Instance.Close<TreasureBaseWin>();
            WindowCenter.Instance.Open<MainInterfaceWin>();
            var taskId = taskModel.GetLatestMainTaskId();
            taskModel.TaskMove(taskId);
        }
    }
}
System/Treasure/HumanTreasureTaskCell.cs.meta
File was renamed from Lua/Gen/SnxxzUITreasureModelWrap.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 6872b877cfce7414e9ab438145e45682
timeCreated: 1554263556
guid: 357f775fb939ac648a21f39982a64008
timeCreated: 1555741972
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/Treasure/HumanTreasureWin.cs
@@ -16,14 +16,16 @@
    [XLua.Hotfix]
    public class HumanTreasureWin : Window
    {
        [SerializeField] Transform m_ContainerDisplay;
        [SerializeField] Transform m_Container;
        [SerializeField] PositionTween m_PositionTween1;
        [SerializeField] PositionTween m_PositionTween2;
        [SerializeField] Button m_Preview;
        [SerializeField] Image m_TreasureName;
        [SerializeField] Text m_Remind;
        [SerializeField] Text m_TaskTitle;
        [SerializeField] Text m_TreasureStory;
        [SerializeField] Image m_SkillIcon;
        [SerializeField] Text m_SkillName;
        [SerializeField] Text m_SkillCoolDown;
        [SerializeField] Text m_SkillDescription;
        [SerializeField] Transform m_ContainerCollect;
        [SerializeField] Button m_Challenge;
@@ -32,6 +34,8 @@
        [SerializeField] Text m_TaskProgress;
        [SerializeField] Transform m_ContainerCollected;
        [SerializeField] Transform m_ContainerUnknown;
        [SerializeField] ScrollerController m_TaskController;
        bool animationStep = false;
@@ -50,11 +54,17 @@
        {
            m_Challenge.AddListener(Challenge);
            m_Goto.AddListener(GotoTask);
            m_Preview.SetListener(Preview);
            m_TaskController.OnRefreshCell += OnRefreshCell;
        }
        protected override void OnPreOpen()
        {
            Display();
            animationStep = false;
            TreasureBaseWin.allowSelectTreasure += AllowSelectTreasure;
            model.treasureSelectedEvent += TreasureSelectedEvent;
        }
@@ -73,7 +83,6 @@
        {
            TreasureBaseWin.allowSelectTreasure -= AllowSelectTreasure;
            model.treasureSelectedEvent -= TreasureSelectedEvent;
            animationStep = false;
        }
        protected override void OnAfterClose()
@@ -84,6 +93,7 @@
        {
            DisplayBase();
            DisplayProgress();
            DisplayTasks();
        }
        void DisplayBase()
@@ -91,7 +101,6 @@
            var config = TreasureConfig.Get(model.selectedTreasure);
            m_TreasureName.SetSprite(config.TreasureNameIcon);
            m_TreasureStory.text = config.Story;
            m_Remind.text = string.Format("通关本征途可激活{0}", config.Name);
            List<int> tasks = null;
            if (model.TryGetTreasureTasks(model.selectedTreasure, out tasks))
@@ -108,8 +117,6 @@
                m_SkillIcon.SetSprite(skillConfig.IconName);
                m_SkillName.text = skillConfig.SkillName;
                m_SkillDescription.text = skillConfig.Description;
                m_SkillCoolDown.text = skillConfig.CoolDownTime == 0 ? string.Empty :
                    Language.Get("L1065", skillConfig.CoolDownTime / 1000);
            }
        }
@@ -126,17 +133,17 @@
                {
                    var satisfyChallenge = model.SatisfyChallenge(model.selectedTreasure);
                    m_Goto.gameObject.SetActive(!satisfyChallenge);
                    //m_Goto.gameObject.SetActive(!satisfyChallenge);
                    m_Challenge.gameObject.SetActive(satisfyChallenge);
                    var progress = 1f;
                    List<int> tasks = null;
                    if (model.TryGetTreasureTasks(model.selectedTreasure, out tasks))
                    Dictionary<int, List<int>> clues;
                    if (model.TryGetTreasureClues(model.selectedTreasure, out clues))
                    {
                        var count = model.GetCompleteTaskCount(model.selectedTreasure);
                        progress = Mathf.Clamp01((float)count / tasks.Count);
                        m_TaskProgress.text = StringUtility.Contact((int)(progress * 100), "%");
                        m_TaskProgress.text = StringUtility.Contact(count, "/", clues.Count);
                        progress = Mathf.Clamp01((float)count / clues.Count);
                    }
                    m_TaskSlider.value = progress;
@@ -144,14 +151,33 @@
            }
        }
        void DisplayAnimation()
        void DisplayTasks()
        {
            m_Container.gameObject.SetActive(false);
            animationStep = true;
            UI3DTreasureSelectStage.Instance.Tween(OnTreasureTweenComplete);
            m_TaskController.Refresh();
            Dictionary<int, List<int>> clues;
            if (model.TryGetTreasureClues(model.selectedTreasure, out clues))
            {
                foreach (var clue in clues.Keys)
                {
                    m_TaskController.AddCell(ScrollerDataType.Header, clue);
                }
            }
            m_TaskController.Restart();
        }
        private void OnTreasureTweenComplete()
        void DisplayAnimation()
        {
            animationStep = true;
            m_PositionTween1.Play();
            m_PositionTween2.Play();
            UI3DTreasureSelectStage.Instance.Tween(OnTweenComplete);
            m_Container.gameObject.SetActive(false);
        }
        private void OnTweenComplete()
        {
            animationStep = false;
            m_Container.gameObject.SetActive(true);
@@ -159,8 +185,13 @@
        private void TreasureSelectedEvent(int obj)
        {
            Display();
            m_PositionTween1.Stop();
            m_PositionTween2.Stop();
            m_PositionTween1.SetEndState();
            m_PositionTween2.SetEndState();
            m_Container.gameObject.SetActive(true);
            UI3DTreasureSelectStage.Instance.SetEndState();
            Display();
        }
        private void Challenge()
@@ -193,6 +224,29 @@
            }
            return true;
        }
        private void OnRefreshCell(ScrollerDataType type, CellView cell)
        {
            var taskCell = cell as HumanTreasureTaskCell;
            taskCell.Display(cell.index);
        }
        private void Preview()
        {
            UI3DTreasureSelectStage.Instance.CloseRenderCamera();
            m_ContainerDisplay.gameObject.SetActive(false);
            var baseWin = WindowCenter.Instance.Get<TreasureBaseWin>();
            if (baseWin != null)
            {
                baseWin.DisplayContainer(false);
            }
            UI3DHeroSkillShow.Instance.ShowTreasureSkill(model.selectedTreasure, () =>
            {
                UI3DTreasureSelectStage.Instance.OpenRenderCamera();
                m_ContainerDisplay.gameObject.SetActive(true);
                baseWin.DisplayContainer(true);
            });
        }
    }
}
System/Treasure/TreasureCollectBriefInfoBehaviour.cs
@@ -108,11 +108,11 @@
                {
                    var progress = 1f;
                    List<int> tasks;
                    if (model.TryGetTreasureTasks(displayId, out tasks))
                    Dictionary<int, List<int>> clues;
                    if (model.TryGetTreasureClues(displayId, out clues))
                    {
                        var count = model.GetCompleteTaskCount(displayId);
                        progress = Mathf.Clamp01((float)count / tasks.Count);
                        progress = Mathf.Clamp01((float)count / clues.Count);
                    }
                    m_TaskSlider.value = progress;
System/Treasure/TreasureComponent.cs
@@ -100,7 +100,7 @@
        public void RequestName()
        {
            RecycleName();
            if (category == TreasureCategory.King || category == TreasureCategory.Human)
            if (category == TreasureCategory.King)
            {
                return;
            }
System/Treasure/TreasureModel.cs
@@ -19,6 +19,7 @@
        Dictionary<TreasureCategory, List<int>> treasureCategory = new Dictionary<TreasureCategory, List<int>>();
        Dictionary<int, int> treasureMapDict = new Dictionary<int, int>();
        Dictionary<int, TreasureDungeon> treasureDungeons = new Dictionary<int, TreasureDungeon>();
        Dictionary<int, Dictionary<int, List<int>>> treasureClues = new Dictionary<int, Dictionary<int, List<int>>>();
        Dictionary<int, List<int>> treasureTasks = new Dictionary<int, List<int>>();
        Dictionary<TreasureCategory, int> treasureUnlockShowDict = new Dictionary<TreasureCategory, int>();
        Dictionary<int, int> treasureTaskCompletedCounts = new Dictionary<int, int>();
@@ -315,7 +316,20 @@
            var taskConfigs = TaskListConfig.GetValues();
            foreach (var config in taskConfigs)
            {
                Dictionary<int, List<int>> clues = null;
                if (!treasureClues.TryGetValue(config.FabaoID, out clues))
                {
                    clues = new Dictionary<int, List<int>>();
                    treasureClues.Add(config.FabaoID, clues);
                }
                List<int> tasks = null;
                if (!clues.TryGetValue(config.clue, out tasks))
                {
                    tasks = new List<int>();
                    clues.Add(config.clue, tasks);
                }
                tasks.Add(config.TaskID);
                if (!treasureTasks.TryGetValue(config.FabaoID, out tasks))
                {
                    tasks = new List<int>();
@@ -424,7 +438,12 @@
            return false;
        }
        public bool TryGetTreasureTasks(int id, out List<int> tasks)
        public bool TryGetTreasureClues(int id, out Dictionary<int, List<int>> clues)
        {
            return treasureClues.TryGetValue(id, out clues);
        }
        public bool TryGetTreasureTasks(int id,out List<int> tasks)
        {
            return treasureTasks.TryGetValue(id, out tasks);
        }
@@ -463,29 +482,27 @@
        public int GetCompleteTaskCount(int id)
        {
            var count = 0;
            List<int> tasks = null;
            if (TryGetTreasureTasks(id, out tasks))
            Dictionary<int, List<int>> clues = null;
            if (TryGetTreasureClues(id, out clues))
            {
                var taskId = taskModel.GetLatestMainTaskId();
                var taskState = taskModel.GetQuestState(taskId);
                var lastTask = tasks[tasks.Count - 1];
                if (taskId > lastTask)
                var clueCount = 0;
                foreach (var clue in clues.Keys)
                {
                    count = tasks.Count;
                }
                else
                {
                    var index = tasks.IndexOf(taskId);
                    if (index == -1)
                    clueCount++;
                    List<int> tasks = clues[clue];
                    var lastTask = tasks[tasks.Count - 1];
                    if (taskId > lastTask)
                    {
                        count = 0;
                        count = clueCount;
                    }
                    else
                    else if (taskId == lastTask && taskState == 3)
                    {
                        count = taskState == 3 ? (index + 1) : index;
                        count = clueCount;
                    }
                }
                count = Mathf.Min(count, tasks.Count);
                count = Mathf.Min(count, clues.Count);
            }
            return count;
        }