少年修仙传客户端代码仓库
client_Wu Xijin
2018-09-10 0f9274b5dc85ef0ae084c15a37da78c09b3cab28
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已修改
87 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastModel.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -189,6 +189,7 @@
            }
        }
        DropItemManager.ReleaseAll();
        DEBUG_STEP = 8;
        _hero.OnPathFindStop -= MapTransferUtility.Instance.OnHeroStopPathFind;
        _hero.OnPathFindStop += MapTransferUtility.Instance.OnHeroStopPathFind;
System/Strengthening/GodBeastModel.cs
@@ -13,28 +13,32 @@
// 关于神兽强化
public class GodBeastModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
    public Dictionary<int, int> Absorption_Dic=new Dictionary<int, int>();//获取选择的物品
    public Dictionary<int, int> Absorption_Dic = new Dictionary<int, int>();//获取选择的物品
    public event Action AbsorbEvent;
    public int ItemInde=0;//物品下标
    public int ItemInde = 0;//物品下标
    public ItemModel Crystal_ItemModel;
    DogzModel Dogz_model;
    DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
    PlayerPackModel _playerPack;
    PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
    public override void Init()
    {
    }
    public void OnBeforePlayerDataInitialize()
    {
    }
    public void OnPlayerLoginOk()
    {
    }
    public override void UnInit()
    {
    }
    public void AbsorbEventUpdate()
@@ -44,6 +48,76 @@
            AbsorbEvent();
        }
    }
    private Dictionary<int, int> AllEnhancedPropertiesDic = new Dictionary<int, int>();//key:为属性编号,value是属性值
    public Dictionary<int, int> AllEnhancedProperties(int GodBeastNumber)//获取整只神兽强化属性
    {
        AllEnhancedPropertiesDic.Clear();
        List<ItemModel> itemModel = dogz_model.GetDogzEquips(GodBeastNumber);
        if (itemModel == null)
        {
            return AllEnhancedPropertiesDic;
        }
        for (int i = 0; i < itemModel.Count; i++)
        {
            ItemModel item = itemModel[i];
            var IudetDogzEquipPlus = item.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
            if (IudetDogzEquipPlus != null)
            {
                int lv = IudetDogzEquipPlus[0];
                if (lv > 0)
                {
                    var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.EquipPlace, lv);
                    int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
                    int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
                    for (int j = 0; j < AttType.Length; j++)
                    {
                        if (AllEnhancedPropertiesDic.ContainsKey(AttType[j]))
                        {
                            var value = AllEnhancedPropertiesDic[(AttType[j])];
                            AllEnhancedPropertiesDic[(AttType[j])] = value + AttValue[j];
                        }
                        else
                        {
                            AllEnhancedPropertiesDic.Add(AttType[j], AttValue[j]);
                        }
                    }
                }
            }
        }
        return AllEnhancedPropertiesDic;
    }
    private Dictionary<int, int> SiteEnhancementAttributeDic = new Dictionary<int, int>();//key:为属性编号,value是属性值
    public Dictionary<int, int> SiteEnhancementAttribute(PackType PackTypeGodBeast, int GodBeastIndex)//获取某只神兽身上某个装备属性值
    {
        SiteEnhancementAttributeDic.Clear();
        ItemModel item = playerPack.GetItemModelByIndex(PackTypeGodBeast, GodBeastIndex);
        if (item == null)
        {
            return SiteEnhancementAttributeDic;
        }
        var IudetDogzEquipPlus = item.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
        if (IudetDogzEquipPlus != null && IudetDogzEquipPlus[0] > 0)
        {
            var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.EquipPlace, IudetDogzEquipPlus[0]);
            int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
            int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
            for (int j = 0; j < AttType.Length; j++)
            {
                if (SiteEnhancementAttributeDic.ContainsKey(AttType[j]))
                {
                    SiteEnhancementAttributeDic[(AttType[j])] = AttValue[j];
                }
                else
                {
                    SiteEnhancementAttributeDic.Add(AttType[j], AttValue[j]);
                }
            }
        }
        return SiteEnhancementAttributeDic;
    }
}