少年修仙传客户端代码仓库
client_linchunjie
2018-09-26 6fcd076e11f1ec6a6ba5427acfa0d739e2c2ea4f
3687 天赋功能
3个文件已修改
2个文件已添加
145 ■■■■ 已修改文件
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA550_tagCMResetMasterSkill.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA550_tagCMResetMasterSkill.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentModel.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentSeriesBehaviour.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentWin.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA550_tagCMResetMasterSkill.cs
New file
@@ -0,0 +1,16 @@
using UnityEngine;
using System.Collections;
// A5 50 重置大师天赋技能 #tagCMResetMasterSkill
public class CA550_tagCMResetMasterSkill : GameNetPackBasic {
    public CA550_tagCMResetMasterSkill () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA550;
    }
    public override void WriteToBytes () {
    }
}
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA550_tagCMResetMasterSkill.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 34385181537277e42aecb5e9c8fbcb67
timeCreated: 1537966668
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Skill/TalentModel.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using TableConfig;
using System;
using System.Linq;
namespace Snxxz.UI
{
@@ -99,7 +100,8 @@
        }
        public int talentResetBook { get; private set; }
        public int storeId { get; private set; }
        public int talentResetBookCost { get; private set; }
        Dictionary<int, List<int>> jobTalentTypeDict = new Dictionary<int, List<int>>();
        void ParseConfig()
        {
            var configs = Config.Instance.GetAllValues<TalentConfig>();
@@ -121,22 +123,47 @@
                        talentTreeDict.Add(skillConfig.UseType, talentTree);
                    }
                    talentTree.Add(configs[i], skillConfig.SkillTypeID);
                    List<int> list = null;
                    if (!jobTalentTypeDict.TryGetValue(skillConfig.UseType, out list))
                    {
                        list = new List<int>();
                        jobTalentTypeDict.Add(skillConfig.UseType, list);
                    }
                    if (!list.Contains(configs[i].type))
                    {
                        list.Add(configs[i].type);
                    }
                }
            }
            var jobs = jobTalentTypeDict.Keys.ToList();
            for (int i = 0; i < jobs.Count; i++)
            {
                var list = jobTalentTypeDict[jobs[i]];
                list.Sort((x, y) =>
                {
                    return x.CompareTo(y);
                });
            }
            var config = Config.Instance.Get<FuncConfigConfig>("");
            if (config != null)
            {
                talentResetBook = int.Parse(config.Numerical1);
                talentResetBookCost = int.Parse(config.Numerical2);
            }
            var storeConfigs = Config.Instance.GetAllValues<StoreConfig>();
            for (int i = 0; i < storeConfigs.Count; i++)
        }
        public int GetTalentType(int index)
        {
            var job = (int)Math.Pow(2, PlayerDatas.Instance.baseData.Job);
            if (jobTalentTypeDict.ContainsKey(job))
            {
                if (storeConfigs[i].ItemID == talentResetBook)
                {
                    storeId = storeConfigs[i].ID;
                    break;
                }
                var list = jobTalentTypeDict[job];
                return index < list.Count ? list[index] : list[0];
            }
            return 1;
        }
        public bool TryGetTalents(int job, int talentType, int talentSeries, out List<int> talents)
System/Skill/TalentSeriesBehaviour.cs
@@ -32,12 +32,16 @@
        public void Display()
        {
            m_Button.image.SetSprite(talentSeries == model.selectSeries ? "Title_TabRight" : "Title_TabDark");
            m_TalentType.text = Language.Get(StringUtility.Contact("TalentBtnSeries_", talentSeries));
            DisplayTalentPoint();
            model.selectSeriesEvent -= OnSelectSeriesEvent;
            model.selectSeriesEvent += OnSelectSeriesEvent;
            model.selectTalentTypeEvnet -= OnSelectTalentTypeEvnet;
            model.selectTalentTypeEvnet += OnSelectTalentTypeEvnet;
            model.talentSkillUpdate -= TalentSkillUpdate;
            model.talentSkillUpdate += TalentSkillUpdate;
        }
        void DisplayTalentPoint()
@@ -50,6 +54,12 @@
        {
            model.selectSeriesEvent -= OnSelectSeriesEvent;
            model.selectTalentTypeEvnet -= OnSelectTalentTypeEvnet;
            model.talentSkillUpdate -= TalentSkillUpdate;
        }
        private void TalentSkillUpdate(int skillId)
        {
            DisplayTalentPoint();
        }
        private void OnSelectSeriesEvent()
System/Skill/TalentWin.cs
@@ -68,7 +68,7 @@
        protected override void OnPreOpen()
        {
            model.selectSeries = 1;
            model.selectTalentType = 1;
            model.selectTalentType = model.GetTalentType(0);
            Display();
            model.selectTalentTypeEvnet += OnSelectTalentTypeEvnet;
            model.selectSeriesEvent += OnSelectSeriesEvent;
@@ -177,15 +177,19 @@
                    m_TalentSkills[i].gameObject.SetActive(false);
                }
            }
            var talentTypeDisplay = Language.Get(StringUtility.Contact("TalentType_", model.selectTalentType));
            var seriesDisplay = Language.Get(StringUtility.Contact("TalentSeries_", model.selectSeries));
            m_TalentTitle.text = StringUtility.Contact(talentTypeDisplay, "·", seriesDisplay);
        }
        void DisplayTalentType()
        {
            var point = model.GetTalentTypePoint(model.selectTalentType == 1 ? 2 : 1);
            var unselectTalentType = model.selectTalentType == model.GetTalentType(0) ? model.GetTalentType(1) : model.GetTalentType(0);
            var point = model.GetTalentTypePoint(unselectTalentType);
            var job = PlayerDatas.Instance.baseData.Job;
            var talentTypeDisplay = Language.Get(StringUtility.Contact("TalentType_", job, "_", model.selectTalentType == 1 ? 2 : 1));
            var talentTypeDisplay = Language.Get(StringUtility.Contact("TalentBtnType_", unselectTalentType));
            m_TalentType.text = StringUtility.Contact(talentTypeDisplay, "(", point, ")");
            m_TalentTitle.text = Language.Get(StringUtility.Contact("TalentTitle_", job, "_", model.selectTalentType));
        }
        void DisplaySelectSkill()
@@ -209,8 +213,13 @@
                    if (requireSeriesPoint != 0 && index < m_SelectConditions.Length)
                    {
                        m_SelectConditions[index].gameObject.SetActive(true);
                        m_SelectConditions[index].text = StringUtility.Contact(model.GetSeriesPoint(talentConfig.type,
                            skillConfig.RequireSeries()), "/", requireSeriesPoint);
                        var requireSeries = skillConfig.RequireSeries();
                        var point = model.GetSeriesPoint(talentConfig.type, requireSeries);
                        var requireDisplay = StringUtility.Contact(point, "/", requireSeriesPoint);
                        requireDisplay = UIHelper.GetTextColorByItemColor(point >= requireSeriesPoint ?
                            TextColType.Green : TextColType.Red, requireDisplay);
                        var seriesDisplay = Language.Get("TalentSeriesCondition", Language.Get(StringUtility.Contact("TalentSeries_", requireSeries)));
                        m_SelectConditions[index].text = StringUtility.Contact(seriesDisplay, requireDisplay);
                        index++;
                    }
                }
@@ -221,10 +230,10 @@
                    {
                        var learnSkillConfig = Config.Instance.Get<SkillConfig>(skillConfig.LearnSkillReq);
                        m_SelectConditions[index].gameObject.SetActive(true);
                        m_SelectConditions[index].text = StringUtility.Contact(
                            "前置天赋: ", learnSkillConfig.SkillName, " ",
                            learnTalent.level, "/", learnSkillConfig.LearnSkillLV
                            );
                        var requireDisplay = StringUtility.Contact(learnSkillConfig.SkillName, " ", learnTalent.level, "/", skillConfig.LearnSkillLV);
                        requireDisplay = UIHelper.GetTextColorByItemColor(learnTalent.level >= skillConfig.LearnSkillLV ?
                            TextColType.Green : TextColType.Red, requireDisplay);
                        m_SelectConditions[index].text = StringUtility.Contact(Language.Get("TalentPreSkillCondition"), requireDisplay);
                        index++;
                    }
                }
@@ -328,7 +337,8 @@
        private void SelectTalentType()
        {
            model.selectTalentType = model.selectTalentType == 1 ? 2 : 1;
            model.selectTalentType = model.selectTalentType == model.GetTalentType(0) ?
                model.GetTalentType(1) : model.GetTalentType(0);
        }
        private void DisplayLevelUp()
@@ -336,7 +346,7 @@
            TalentSkill talent;
            if (model.TryGetTalent(model.selectSkill, out talent))
            {
                m_AddPointBtnText.text = talent.level >= talent.maxLevel ? "已满级" : "加点";
                m_AddPointBtnText.text = talent.level >= talent.maxLevel ? Language.Get("TalentHighestLevel") : Language.Get("TalentLevelUp");
            }
        }
@@ -363,26 +373,26 @@
        private void ResetPoint()
        {
            var count = pack.GetItemCountByID(PackType.rptItem, model.talentResetBook);
            var config = Config.Instance.Get<ItemConfig>(model.talentResetBook);
            if (count > 0)
            {
                ConfirmCancel.ShowItemConfirm(Language.Get(""), model.talentResetBook, 1, () =>
                   {
                   });
                ConfirmCancel.ShowItemConfirm(Language.Get("TalentResetRequire", config.ItemName), model.talentResetBook, 1, () =>
                    {
                        CA550_tagCMResetMasterSkill pak = new CA550_tagCMResetMasterSkill();
                        GameNetSystem.Instance.SendInfo(pak);
                    });
            }
            else
            {
                if (model.storeId != 0)
                {
                    var storeConfig = Config.Instance.Get<StoreConfig>(model.storeId);
                    ConfirmCancel.ShowPopConfirm(Language.Get(""), Language.Get("", storeConfig.MoneyNumber), (bool isOk) =>
                       {
                           if (isOk)
                           {
                               ModelCenter.Instance.GetModel<StoreModel>().SendBuyShopItem(storeConfig, 1);
                           }
                       });
                }
                ConfirmCancel.ShowPopConfirm(Language.Get(Language.Get("Mail101")), Language.Get("LackTalentBook",
                    config.ItemName, model.talentResetBookCost), (bool isOk) =>
                    {
                        if (isOk)
                        {
                            CA550_tagCMResetMasterSkill pak = new CA550_tagCMResetMasterSkill();
                            GameNetSystem.Instance.SendInfo(pak);
                        }
                    });
            }
        }