少年修仙传客户端代码仓库
Hale Cai
2019-01-23 8c921c7eadc1f45ebfc8ef07a4d73192faf83f87
382 武器的自带特效加载逻辑修改
4个文件已修改
162 ■■■■■ 已修改文件
Fight/GameActor/GActorPlayerBase.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/PartialModelResConfig.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShow.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DShowHero.cs 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorPlayerBase.cs
@@ -1651,7 +1651,7 @@
            return;
        }
        var _itemConfig = Config.Instance.Get<ItemConfig>((int)WeaponItemID);
        if (_itemConfig != null)
        if (_itemConfig == null)
        {
            return;
        }
Fight/GameActor/PartialModelResConfig.cs
@@ -52,7 +52,7 @@
                    for (int i = 0; i < _effects.Length; ++i)
                    {
                        if (i < _bones.Length)
                        if (i < _bones.Length && !string.IsNullOrEmpty(_bones[i]))
                        {
                            _boneList.Add(_bones[i]);
                        }
@@ -62,7 +62,10 @@
                        }
                        _effectList.Add(int.Parse(_effects[i]));
                        // Debug.LogFormat("������Ч����: {0} => {1}", _bones[i], _dict[_bones[i]]);
                        // if (Type == (int)E_ModelResType.Weapon)
                        // {
                        //     Debug.LogFormat("设置了啊   : {0} => {1}", _bones[i], _effects[i]);
                        // }
                    }
                    effectBoneDict[ResourcesName] = _boneList;
System/FairyAu/FairyFeastTransmitShow.cs
@@ -518,6 +518,9 @@
                        secondaryModel.layer = LayerUtility.BossShow;
                        var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
                        secondaryModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
                        var _resConfig = Config.Instance.Get<ModelResConfig>(secondaryResId);
                        ShowSecondaryEffect(secondaryModel.transform, _resConfig.ResourcesName);
                    }
                }
            }
@@ -583,7 +586,78 @@
                    }
                }
            }
            private List<SFXController> m_WeaponEffectList = new List<SFXController>();
            private List<SFXController> m_SecondaryEffectList = new List<SFXController>();
            private void ShowWeaponEffect(Transform parent, string modelName)
            {
                HideWeaponEffect();
                var _boneList = ModelResConfig.GetBoneList(modelName);
                var _effectlist = ModelResConfig.GetEffectList(modelName);
                if (_boneList != null && _effectlist != null)
                {
                    for (int i = 0; i < _boneList.Count; ++i)
                    {
                        if (_boneList[i].Equals("null"))
                        {
                            var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent);
                            m_WeaponEffectList.Add(_ctrl);
                        }
                        else
                        {
                            var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i]));
                            m_WeaponEffectList.Add(_ctrl);
                        }
                    }
                }
            }
            private void ShowSecondaryEffect(Transform parent, string modelName)
            {
                HideWeaponEffect();
                var _boneList = ModelResConfig.GetBoneList(modelName);
                var _effectlist = ModelResConfig.GetEffectList(modelName);
                if (_boneList != null && _effectlist != null)
                {
                    for (int i = 0; i < _boneList.Count; ++i)
                    {
                        if (_boneList[i].Equals("null"))
                        {
                            var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent);
                            m_SecondaryEffectList.Add(_ctrl);
                        }
                        else
                        {
                            var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i]));
                            m_SecondaryEffectList.Add(_ctrl);
                        }
                    }
                }
            }
            private void HideSecondaryEffect()
            {
                foreach (var _ctrl in m_SecondaryEffectList)
                {
                    SFXPlayUtility.Instance.Release(_ctrl);
                }
                m_SecondaryEffectList.Clear();
            }
            private void HideWeaponEffect()
            {
                foreach (var _ctrl in m_WeaponEffectList)
                {
                    SFXPlayUtility.Instance.Release(_ctrl);
                }
                m_WeaponEffectList.Clear();
            }
            public void Transmit()
            {
                if (clothesAnimator)
UI/Common/UI3DShowHero.cs
@@ -439,6 +439,9 @@
                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WeaponBindBoneName);
                    weaponModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
                }
                var _resConfig = Config.Instance.Get<ModelResConfig>(resoureceId);
                ShowSecondaryEffect(weaponModel.transform, _resConfig.ResourcesName);
            }
            weaponId = resoureceId;
@@ -507,6 +510,7 @@
            if (secondaryResId != 0)
            {
                var _resConfig = Config.Instance.Get<ModelResConfig>(secondaryResId);
                prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId);
                if (!prefab)
                {
@@ -523,6 +527,8 @@
                    var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
                    secondaryModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
                }
                ShowSecondaryEffect(secondaryModel.transform, _resConfig.ResourcesName);
            }
            secondaryId = secondaryResId;
@@ -711,6 +717,79 @@
            SwitchMaterial(_suitCount >= 5);
        }
        private List<SFXController> m_WeaponEffectList = new List<SFXController>();
        private List<SFXController> m_SecondaryEffectList = new List<SFXController>();
        private void ShowWeaponEffect(Transform parent, string modelName)
        {
            HideWeaponEffect();
            var _boneList = ModelResConfig.GetBoneList(modelName);
            var _effectlist = ModelResConfig.GetEffectList(modelName);
            if (_boneList != null && _effectlist != null)
            {
                for (int i = 0; i < _boneList.Count; ++i)
                {
                    if (_boneList[i].Equals("null"))
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent);
                        m_WeaponEffectList.Add(_ctrl);
                    }
                    else
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i]));
                        m_WeaponEffectList.Add(_ctrl);
                    }
                }
            }
        }
        private void ShowSecondaryEffect(Transform parent, string modelName)
        {
            HideWeaponEffect();
            var _boneList = ModelResConfig.GetBoneList(modelName);
            var _effectlist = ModelResConfig.GetEffectList(modelName);
            if (_boneList != null && _effectlist != null)
            {
                for (int i = 0; i < _boneList.Count; ++i)
                {
                    if (_boneList[i].Equals("null"))
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent);
                        m_SecondaryEffectList.Add(_ctrl);
                    }
                    else
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i]));
                        m_SecondaryEffectList.Add(_ctrl);
                    }
                }
            }
        }
        private void HideSecondaryEffect()
        {
            foreach (var _ctrl in m_SecondaryEffectList)
            {
                SFXPlayUtility.Instance.Release(_ctrl);
            }
            m_SecondaryEffectList.Clear();
        }
        private void HideWeaponEffect()
        {
            foreach (var _ctrl in m_WeaponEffectList)
            {
                SFXPlayUtility.Instance.Release(_ctrl);
            }
            m_WeaponEffectList.Clear();
        }
        public void SwitchMaterial(bool isSuit)
        {
            if (clothesModel == null)