少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-02 e53af2bb643ac8f24ced6ca8449347c1f0cc028f
3555 新版装备功能开发
2个文件已添加
4个文件已修改
122 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/EquipSuitConfig.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSuitPropertyWidget.cs 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/EquipSuitConfig.cs
@@ -18,8 +18,9 @@
    public readonly int suiteID;
    public readonly int suiteCnt;
    public readonly int star;
    public readonly int[] attr;
    public readonly Int2 attr;
    public readonly int skillID;
    public readonly string description;
    public EquipSuitConfig()
    {
@@ -41,14 +42,11 @@
            int.TryParse(tables[4],out star); 
            string[] attrStringArray = tables[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            attr = new int[attrStringArray.Length];
            for (int i=0;i<attrStringArray.Length;i++)
            {
                 int.TryParse(attrStringArray[i],out attr[i]);
            }
            Int2.TryParse(tables[5],out attr);
            int.TryParse(tables[6],out skillID); 
            description = tables[7];
        }
        catch (Exception ex)
        {
Core/GameEngine/Model/Config/EquipSuitConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0293f3c320d15774eb4424928e85e47a
timeCreated: 1551517326
timeCreated: 1551518813
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs
New file
@@ -0,0 +1,38 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Snxxz.UI;
public partial class EquipSuitConfig : IConfigPostProcess
{
    static Dictionary<int, List<EquipSuitConfig>> equipSuitConfigs = new Dictionary<int, List<EquipSuitConfig>>();
    public void OnConfigParseCompleted()
    {
        var key = suiteID * 100 + suiteCnt;
        if (!equipSuitConfigs.ContainsKey(key))
        {
            equipSuitConfigs[key] = new List<EquipSuitConfig>();
        }
        equipSuitConfigs[key].Add(this);
    }
    public static List<EquipSuitConfig> GetConfigs(int job, int level, EquipSuitType type)
    {
        var key = (job * 100 + level) * 100 + (int)type;
        if (equipSuitConfigs.ContainsKey(key))
        {
            return equipSuitConfigs[key];
        }
        else
        {
            return null;
        }
    }
}
Core/GameEngine/Model/TelPartialConfig/PartialEquipSuitConfig.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 60087776027a201428218496bd6d5a8f
timeCreated: 1551517526
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/GameEngine/Model/TelPartialConfig/PlayerPropertyConfig.cs
@@ -27,4 +27,29 @@
        m_PropCfgs.TryGetValue(type, out list);
        return list;
    }
    public static string GetPropertyDescription(int propertyId, int value)
    {
        var config = Get(propertyId);
        if (config == null)
        {
            return string.Empty;
        }
        if (config.ISPercentage == 0)
        {
            return value.ToString();
        }
        else if (config.ISPercentage == 1)
        {
            return (float)Math.Round(value / 100f, 1) + "%";
        }
        else if (config.ISPercentage == 2)
        {
            return ((float)Math.Round(value / 100f, 1)).ToString();
        }
        return string.Empty;
    }
}
System/Equip/EquipSuitPropertyWidget.cs
@@ -21,13 +21,20 @@
        EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        public void Display(int level)
        {
            m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
            for (int i = 1; i <= 8; i++)
            {
                var equip = packModel.GetItemByGuid(model.GetEquipSet(level).GetEquip(i));
                m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(equip.config.SuiteiD > 0 ? TextColType.Green : TextColType.Gray);
            }
            m_TwoSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.TwoSuit));
            m_FiveSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.FiveSuit));
            m_EightSuitDescription.text = "";
            m_EightSuitDescription.text = GetEightSuitDescription(level);
        }
        public void Dispose()
@@ -38,10 +45,28 @@
        private string GetEightSuitDescription(int level)
        {
            var lines = new List<string>();
            var configs = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.EightSuit);
            for (int i = 0; i < configs.Count; i++)
            {
                var config = configs[i];
                var description = string.Empty;
                if (config.skillID > 0)
                {
                    description = config.description;
                }
                else
                {
                    var propertyConfig = PlayerPropertyConfig.Get(config.attr.x);
                    var propertyDescription = PlayerPropertyConfig.GetPropertyDescription(config.attr.x, config.attr.y);
                    description = StringUtility.Contact(propertyConfig.Name, " +", propertyDescription);
                }
                var line = string.Format("{0}星装备: {1}", config.star, description);
                var starLevel = starModel.GetSuitLevel(level, EquipSuitType.EightSuit);
                lines.Add(UIHelper.AppendStringColor(config.star >= starLevel ? TextColType.Green : TextColType.Gray, line));
            }
            return string.Empty;
            return string.Join("\n", lines.ToArray());
        }
    }