少年修仙传客户端代码仓库
client_Zxw
2019-03-14 e4de206626656ca5b7d7994b135f5dd1afd74ae9
3335 强化进阶
5个文件已修改
2个文件已添加
100 ■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/tagItemPlusConfig.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagItemPlusMaxConfig.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA316_tagCMEquipPlusEvolve.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA316_tagCMEquipPlusEvolve.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipEvolution.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipEvolutionWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthModel.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagItemPlusConfig.cs
@@ -4,16 +4,18 @@
public partial class ItemPlusConfig : IConfigPostProcess
{
    private static Dictionary<string, ItemPlusConfig> ItemPlus = new Dictionary<string, ItemPlusConfig>();
    private static Dictionary<int, ItemPlusConfig> ItemPlus = new Dictionary<int, ItemPlusConfig>();
    public void OnConfigParseCompleted()
    {
        ItemPlus.Add(StringUtility.Contact(type, level).ToString(), this);
        var key = type * 100 + level;
        ItemPlus[key] = this;
    }
    public static ItemPlusConfig GetTypeAndLevel(int type, int level)
    {
        var key = type * 100 + level;
        ItemPlusConfig itemPlus = null;
        ItemPlus.TryGetValue(StringUtility.Contact(type, level).ToString(), out itemPlus);
        ItemPlus.TryGetValue(key, out itemPlus);
        return itemPlus;
    }
}
Core/GameEngine/Model/TelPartialConfig/tagItemPlusMaxConfig.cs
@@ -4,19 +4,21 @@
public partial class ItemPlusMaxConfig : IConfigPostProcess
{
    private static Dictionary<string, ItemPlusMaxConfig> t_ItemPM = new Dictionary<string, ItemPlusMaxConfig>();
    private static Dictionary<int, ItemPlusMaxConfig> t_ItemPM = new Dictionary<int, ItemPlusMaxConfig>();
    private static Dictionary<int, int> m_ItemPlusMaxLvDict = new Dictionary<int, int>();
    public void OnConfigParseCompleted()
    {
        t_ItemPM.Add(StringUtility.Contact(EquipType, equipStar).ToString(), this);
        var key = EquipType * 100 + equipStar;
        t_ItemPM[key] = this;
    }
    public static ItemPlusMaxConfig GetEquipTypeAndEquipStar(int equipType, int equipStar)//获取强化类型,装备星数
    {
        var key = equipType * 100 + equipStar;
        ItemPlusMaxConfig itemPMax = null;
        t_ItemPM.TryGetValue(StringUtility.Contact(equipType, equipStar).ToString(), out itemPMax);
        t_ItemPM.TryGetValue(key, out itemPMax);
        return itemPMax;
    }
Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA316_tagCMEquipPlusEvolve.cs
New file
@@ -0,0 +1,18 @@
using UnityEngine;
using System.Collections;
// A3 16 装备强化进化 #tagCMEquipPlusEvolve
public class CA316_tagCMEquipPlusEvolve : GameNetPackBasic {
    public ushort ItemIndex;    //装备在背包中索引
    public CA316_tagCMEquipPlusEvolve () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA316;
    }
    public override void WriteToBytes () {
        WriteBytes (ItemIndex, NetDataType.WORD);
    }
}
Core/NetworkPackage/ClientPack/ClientToMapServer/CA3_Item/CA316_tagCMEquipPlusEvolve.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f9ffe59f03c369a43bced6b271dac0ac
timeCreated: 1552534826
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/EquipGem/EquipEvolution.cs
@@ -23,7 +23,7 @@
        }
        private void OnClickEvolutionBtn()
        {
            WindowCenter.Instance.Open<EquipEvolutionWin>();
        }
    }
System/EquipGem/EquipEvolutionWin.cs
@@ -31,6 +31,7 @@
        protected override void AddListeners()
        {
            m_CloseButton.AddListener(()=> { CloseImmediately(); });
        }
        protected override void OnPreOpen()
System/EquipGem/EquipStrengthModel.cs
@@ -47,6 +47,7 @@
    public Dictionary<int, EquipStrengthClass> EquipStrengthDic = new Dictionary<int, EquipStrengthClass>();//强化数据
    public Dictionary<int, EquipMaxLvClass> EquipLevelMaxDic = new Dictionary<int, EquipMaxLvClass>();//强化类型的最大等级上限
    public Dictionary<int, int> PartTypeDic = new Dictionary<int, int>();//强化的部位类型
    public Dictionary<int, int> EvolutionTypeMaxDic = new Dictionary<int, int>();
    public event Action EquipStrengthUpdate;//强化数据刷新
    public event Action SelectEquipRefresh;//二级页签刷新
    public event Action SelectLevelRefresh;//一级页签刷新
@@ -94,6 +95,7 @@
        var strengthenLevelLimit = FuncConfigConfig.Get("StrengthenLevelLimit").Numerical1;
        PartTypeDic = ConfigParse.GetDic<int, int>(strengthenLevelLimit);
        GetEquipLevelMax();
        GetEvolutionTypeMax();
    }
    public void OnBeforePlayerDataInitialize()
@@ -142,9 +144,15 @@
        CA301_tagEquipPlus CA301 = new CA301_tagEquipPlus();
        CA301.PackType = (byte)packTyp;
        CA301.ItemIndex = (ushort)equipIndex;
        GameNetSystem.Instance.SendInfo(CA301);//向服务器发送装备位
        GameNetSystem.Instance.SendInfo(CA301);
    }
    public void SendEquipPlusEvolve(int equipIndex)
    {
        CA316_tagCMEquipPlusEvolve CA316 = new CA316_tagCMEquipPlusEvolve();
        CA316.ItemIndex =(ushort)equipIndex;
        GameNetSystem.Instance.SendInfo(CA316);
    }
    private void GetEquipLevelMax()
    {
        var itemPlusMax = ItemPlusMaxConfig.GetValues();
@@ -235,7 +243,7 @@
        return itemPlusConfig;
    }
    public EquipPlusEvolveClass GetEquipPlusEvolve(int equipType, int equipLv=0)//获取装备进化数据
    public EquipPlusEvolveClass GetEquipPlusEvolve(int equipType, int equipLv = 0)//获取装备进化数据
    {
        EquipPlusEvolveClass equipPlusEvolve = new EquipPlusEvolveClass();
        var equipPlusEvolveConfig = EquipPlusEvolveConfig.GetEquipPlaceAndEvolveLV(equipType, equipLv);
@@ -258,25 +266,56 @@
                if (config != null)
                {
                    equipPlusEvolve.AttrName = config.Name;
                    float value= Dic2[key];
                    float value = Dic2[key];
                    switch (config.ISPercentage)
                    {
                        case 0:
                            if (equipLv == 0)
                            {
                                equipPlusEvolve.AttrValue = 0.ToString();
                            }
                            equipPlusEvolve.AttrValue = value.ToString();
                            break;
                        case 1:
                            equipPlusEvolve.AttrValue = (value/100).ToString()+"%";
                            if (equipLv == 0)
                            {
                                equipPlusEvolve.AttrValue = 0.ToString() + "%";
                            }
                            equipPlusEvolve.AttrValue = (value / 100).ToString() + "%";
                            break;
                        case 2:
                            equipPlusEvolve.AttrValue = value.ToString()+"%";
                            if (equipLv == 0)
                            {
                                equipPlusEvolve.AttrValue = 0.ToString() + "%";
                            }
                            equipPlusEvolve.AttrValue = value.ToString() + "%";
                            break;
                    }
                }
            }
        }
        return equipPlusEvolve;
    }
    private void GetEvolutionTypeMax()
    {
        var evolveValues = EquipPlusEvolveConfig.GetValues();
        foreach (var value in evolveValues)
        {
            if (EvolutionTypeMaxDic.ContainsKey(value.EquipPlace))
            {
                var lv = EvolutionTypeMaxDic[value.EquipPlace];
                if (value.EvolveLV > lv)
                {
                    EvolutionTypeMaxDic[value.EquipPlace] = value.EvolveLV;
                }
            }
            else
            {
                EvolutionTypeMaxDic.Add(value.EquipPlace, value.EvolveLV);
            }
        }
    }
}