少年修仙传客户端代码仓库
client_linchunjie
2018-09-19 4ddb4556bde9483379cb1a56025c95dfb008192d
1871天赋功能
1 文件已重命名
4个文件已修改
1个文件已删除
1个文件已添加
217 ■■■■■ 已修改文件
System/Skill/TalentButtonBehaviour.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentModel.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentSkillBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentSkillScriptableObject.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentTreeBehaviour.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentTreeBehaviour.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentWin.cs 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentButtonBehaviour.cs
@@ -8,6 +8,7 @@
{
    public class TalentButtonBehaviour : MonoBehaviour
    {
        [SerializeField] int talentType;
        [SerializeField] Button m_Button;
        [SerializeField] Image m_Icon;
        [SerializeField] Text m_TalentType;
@@ -15,7 +16,6 @@
        TalentModel model { get { return ModelCenter.Instance.GetModel<TalentModel>(); } }
        int talentType = 0;
        int series = 0;
        private void Awake()
@@ -31,10 +31,9 @@
            }
        }
        public void Display(int _series, int _type)
        public void Display(int _series)
        {
            series = _series;
            talentType = _type;
            OnSelectTalentTypeEvnet();
            model.OnSelectTalentTypeEvnet -= OnSelectTalentTypeEvnet;
            model.OnSelectTalentTypeEvnet += OnSelectTalentTypeEvnet;
System/Skill/TalentModel.cs
@@ -93,11 +93,11 @@
        void ParseConfig()
        {
            var configs = ConfigManager.Instance.GetAllValues<TalentConfig>();
            var configs = Config.Instance.GetAllValues<TalentConfig>();
            for (int i = 0; i < configs.Count; i++)
            {
                var skillId = configs[i].SkillId;
                var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(skillId);
                var skillConfig = Config.Instance.Get<SkillConfig>(skillId);
                TalentSkill talent;
                if (!TryGetTalent(skillConfig.SkillTypeID, out talent))
                {
@@ -176,7 +176,7 @@
                    error = 2;
                    return false;
                }
                var talentConfig = ConfigManager.Instance.GetTemplate<TalentConfig>(talent.skillId + talent.level);
                var talentConfig = Config.Instance.Get<TalentConfig>(talent.skillId + talent.level);
                if (talentConfig.property != 0)
                {
                    if (UIHelper.GetPropertyMapPlayerData((AttrEnum)talentConfig.property) < talentConfig.propertyValue)
@@ -193,7 +193,7 @@
                        return false;
                    }
                }
                var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
                var skillConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                if (skillConfig.LearnSkillReq != 0)
                {
                    TalentSkill learnTalent;
System/Skill/TalentSkillBehaviour.cs
@@ -35,7 +35,7 @@
            TalentSkill talent;
            if (model.TryGetTalent(skillId, out talent))
            {
                var config = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId);
                var config = Config.Instance.Get<SkillConfig>(talent.skillId);
                if (config != null)
                {
                    m_Icon.SetSprite(config.IconName);
System/Skill/TalentSkillScriptableObject.cs
File was deleted
System/Skill/TalentTreeBehaviour.cs
New file
@@ -0,0 +1,34 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
namespace Snxxz.UI
{
    public class TalentTreeBehaviour : MonoBehaviour
    {
        [SerializeField] TalentTree[] talentTrees;
        public bool BelongToTalentTree(int job, int series, int type)
        {
            for (int i = 0; i < talentTrees.Length; i++)
            {
                var talentTree = talentTrees[i];
                if (talentTree.job == job && talentTree.series == series
                    && talentTree.type == type)
                {
                    return true;
                }
            }
            return false;
        }
    }
    [Serializable]
    public struct TalentTree
    {
        public int job;
        public int series;
        public int type;
    }
}
System/Skill/TalentTreeBehaviour.cs.meta
File was renamed from System/Skill/TalentSkillScriptableObject.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: c1f6808b9ef29b446814b830489cc141
timeCreated: 1533016268
guid: 8fc3af53f3642d840b54c80c446798b1
timeCreated: 1537346838
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/Skill/TalentWin.cs
@@ -14,13 +14,8 @@
    public class TalentWin : Window
    {
        [SerializeField] TalentButtonBehaviour m_TalentAtkBehaviour;
        [SerializeField] TalentButtonBehaviour m_TalentDefBehaviour;
        [SerializeField] TalentButtonBehaviour m_TalentGeneralBehaviour;
        [SerializeField] TalentSkillScriptableObject m_TalentAtkConfig;
        [SerializeField] TalentSkillScriptableObject m_TalentDefConfig;
        [SerializeField] TalentSkillScriptableObject m_TalentGeneralConfig;
        [SerializeField] TalentButtonBehaviour[] m_TalentButtons;
        [SerializeField] TalentTreeBehaviour[] m_TalentTrees;
        [SerializeField] RectTransform m_ContainerSelect;
@@ -28,9 +23,7 @@
        [SerializeField] Text m_TalentSeries;
        [SerializeField] ScrollRect m_SkillScroller;
        [SerializeField] RectTransform m_SkillContent;
        [SerializeField] TalentSkillBehaviour[] m_SkillBehaviours;
        [SerializeField] Image[] m_Arrows;
        [SerializeField] RectTransform m_ContainerSelectSkill;
        [SerializeField] Image m_SelectSkillIcon;
@@ -84,9 +77,10 @@
            model.OnSelectSkillEvent -= OnSelectSkillEvent;
            model.talentSkillUpdate -= TalentSkillUpdate;
            model.talentPointUpdate -= TalentPointUpdate;
            m_TalentAtkBehaviour.Dispose();
            m_TalentDefBehaviour.Dispose();
            m_TalentGeneralBehaviour.Dispose();
            for (int i = 0; i < m_TalentButtons.Length; i++)
            {
                m_TalentButtons[i].Dispose();
            }
            for (int i = 0; i < m_SkillBehaviours.Length; i++)
            {
@@ -101,9 +95,10 @@
        void Display()
        {
            m_TalentAtkBehaviour.Display(model.selectSeries, 1);
            m_TalentDefBehaviour.Display(model.selectSeries, 2);
            m_TalentGeneralBehaviour.Display(model.selectSeries, 3);
            for (int i = 0; i < m_TalentButtons.Length; i++)
            {
                m_TalentButtons[i].Display(model.selectSeries);
            }
            DisplaySkills();
            DisplaySeries();
@@ -113,30 +108,29 @@
        void DisplaySkills()
        {
            var job = PlayerDatas.Instance.baseData.Job;
            List<int> talentSkills;
            model.TryGetTalents(job, model.selectSeries, model.selectTalentType, out talentSkills);
            var config = model.selectTalentType == 1 ? m_TalentAtkConfig : model.selectTalentType == 2 ?
                m_TalentDefConfig : m_TalentGeneralConfig;
            m_SkillScroller.verticalNormalizedPosition = 1;
            m_SkillContent.sizeDelta = m_SkillContent.sizeDelta.SetY(config == null ? 0 : config.contentHeight);
            for (int i = 0; i < m_SkillBehaviours.Length; i++)
            {
                if (talentSkills != null && i < talentSkills.Count)
                {
                    m_SkillBehaviours[i].gameObject.SetActive(true);
                    var position = config == null ? Vector3.zero : config.GetSkillPosition(i);
                    m_SkillBehaviours[i].transform.localPosition = position;
                    m_SkillBehaviours[i].Display(talentSkills[i]);
                }
                else
                {
                    m_SkillBehaviours[i].Dispose();
                    m_SkillBehaviours[i].gameObject.SetActive(false);
                }
            }
            model.selectSkill = talentSkills != null ? talentSkills[0] : 0;
            //var job = PlayerDatas.Instance.baseData.Job;
            //List<int> talentSkills;
            //model.TryGetTalents(job, model.selectSeries, model.selectTalentType, out talentSkills);
            //var config = model.selectTalentType == 1 ? m_TalentAtkConfig : model.selectTalentType == 2 ?
            //    m_TalentDefConfig : m_TalentGeneralConfig;
            //m_SkillScroller.verticalNormalizedPosition = 1;
            //for (int i = 0; i < m_SkillBehaviours.Length; i++)
            //{
            //    if (talentSkills != null && i < talentSkills.Count)
            //    {
            //        m_SkillBehaviours[i].gameObject.SetActive(true);
            //        var position = config == null ? Vector3.zero : config.GetSkillPosition(i);
            //        m_SkillBehaviours[i].transform.localPosition = position;
            //        m_SkillBehaviours[i].Display(talentSkills[i]);
            //    }
            //    else
            //    {
            //        m_SkillBehaviours[i].Dispose();
            //        m_SkillBehaviours[i].gameObject.SetActive(false);
            //    }
            //}
            //
            //model.selectSkill = talentSkills != null ? talentSkills[0] : 0;
        }
        void DisplaySeries()
@@ -182,13 +176,13 @@
            var index = 0;
            if (model.TryGetTalent(model.selectSkill, out talent))
            {
                var talentConfig = ConfigManager.Instance.GetTemplate<TalentConfig>(talent.skillId + talent.level);
                var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
                var talentConfig = Config.Instance.Get<TalentConfig>(talent.skillId + talent.level);
                var skillConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                if (talentConfig != null)
                {
                    if (talentConfig.property != 0 && index < m_SelectConditions.Length)
                    {
                        var propertyConfig = ConfigManager.Instance.GetTemplate<PlayerPropertyConfig>(talentConfig.property);
                        var propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(talentConfig.property);
                        m_SelectConditions[index].gameObject.SetActive(true);
                        m_SelectConditions[index].text = StringUtility.Contact(
                            string.Format("需要{0}点:", propertyConfig.Name),
@@ -209,7 +203,7 @@
                    TalentSkill learnTalent;
                    if (skillConfig.LearnSkillReq != 0 && model.TryGetTalent(skillConfig.LearnSkillReq, out learnTalent))
                    {
                        var learnSkillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(skillConfig.LearnSkillReq);
                        var learnSkillConfig = Config.Instance.Get<SkillConfig>(skillConfig.LearnSkillReq);
                        m_SelectConditions[index].gameObject.SetActive(true);
                        m_SelectConditions[index].text = StringUtility.Contact(
                            "前置天赋: ", learnSkillConfig.SkillName, " ",
@@ -232,7 +226,7 @@
            if (model.TryGetTalent(model.selectSkill, out talent))
            {
                m_ContainerSelectSkill.gameObject.SetActive(true);
                var config = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
                var config = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                m_SelectSkillIcon.SetSprite(config.IconName);
                m_SelectSkillLevel.text = StringUtility.Contact(talent.level, "/", talent.max);
                m_SelectSkillName.text = config.SkillName;
@@ -244,12 +238,12 @@
            TalentSkill talent;
            if (model.TryGetTalent(model.selectSkill, out talent))
            {
                var config = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level);
                var config = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                m_SelectSkillEffect.text = config.Description;
                m_ContainerNextEffect.gameObject.SetActive(talent.level < talent.max);
                if (talent.level < talent.max)
                {
                    var nextConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(talent.skillId + talent.level + 1);
                    var nextConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level + 1);
                    m_SelectNextEffect.text = nextConfig.Description;
                }
            }
@@ -314,25 +308,7 @@
        {
        }
#if UNITY_EDITOR
        [SerializeField] TalentSkillScriptableObject viewConfig;
        [ContextMenu("预览配置")]
        void ViewPositionConfig()
        {
            if (viewConfig == null)
            {
                return;
            }
            for (int i = 0; i < m_SkillBehaviours.Length; i++)
            {
                m_SkillBehaviours[i].transform.localPosition = viewConfig.GetSkillPosition(i);
            }
        }
#endif
    }
}