| Fight/GameActor/GA_Pet.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/GameActor/GActorPlayerBase.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/GameActor/PartialModelResConfig.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UI/Common/UI3DModelExhibition.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UI/Common/UI3DModelFactory.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Fight/GameActor/GA_Pet.cs
@@ -40,13 +40,24 @@ var _config = TableConfig.ModelResConfig.GetPetConfig(_modelName); if (_config != null) { var _dict = TableConfig.ModelResConfig.GetEffectDict(_modelName); if (_dict != null) var _boneList = TableConfig.ModelResConfig.GetBoneList(_modelName); var _effectlist = TableConfig.ModelResConfig.GetEffectList(_modelName); if (_boneList != null && _effectlist != null) { foreach (var _bone in _dict.Keys) for (int i = 0; i < _boneList.Count; ++i) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], m_Model.transform.GetChildTransformDeeply(_bone)); m_EffectList.Add(_ctrl); if (_boneList[i].Equals("null")) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_Model.transform); m_EffectList.Add(_ctrl); } else { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_Model.transform.GetChildTransformDeeply(_boneList[i])); m_EffectList.Add(_ctrl); } } } } Fight/GameActor/GActorPlayerBase.cs
@@ -553,7 +553,7 @@ return; } } m_WeaponModel = null; } @@ -1444,13 +1444,25 @@ Debug.LogError("找不到配置ModelResConfig: " + _itemConfig.ChangeOrd); return; } var _dict = ModelResConfig.GetEffectDict(_config.ResourcesName); if (_dict != null) var _boneList = ModelResConfig.GetBoneList(_config.ResourcesName); var _effectlist = ModelResConfig.GetEffectList(_config.ResourcesName); if (_boneList != null && _effectlist != null) { foreach (var _bone in _dict.Keys) for (int i = 0; i < _boneList.Count; ++i) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], m_SecondaryModel.transform.GetChildTransformDeeply(_bone)); m_SecondaryEffectList.Add(_ctrl); if (_boneList[i].Equals("null")) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_SecondaryModel.transform); m_SecondaryEffectList.Add(_ctrl); } else { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_SecondaryModel.transform.GetChildTransformDeeply(_boneList[i])); m_SecondaryEffectList.Add(_ctrl); } } } } @@ -1473,13 +1485,24 @@ Debug.LogError("找不到配置ModelResConfig: " + _itemConfig.ChangeOrd); return; } var _dict = ModelResConfig.GetEffectDict(_config.ResourcesName); if (_dict != null) var _boneList = ModelResConfig.GetBoneList(_config.ResourcesName); var _effectlist = ModelResConfig.GetEffectList(_config.ResourcesName); if (_boneList != null && _effectlist != null) { foreach (var _bone in _dict.Keys) for (int i = 0; i < _boneList.Count; ++i) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], m_WeaponModel.transform.GetChildTransformDeeply(_bone)); m_WeaponEffectList.Add(_ctrl); if (_boneList[i].Equals("null")) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_WeaponModel.transform); m_WeaponEffectList.Add(_ctrl); } else { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_WeaponModel.transform.GetChildTransformDeeply(_boneList[i])); m_WeaponEffectList.Add(_ctrl); } } } } @@ -1503,13 +1526,25 @@ Debug.LogError("找不到配置ModelResConfig: " + _horseConfig.Model); return; } var _dict = ModelResConfig.GetEffectDict(_config.ResourcesName); if (_dict != null) var _boneList = ModelResConfig.GetBoneList(_config.ResourcesName); var _effectlist = ModelResConfig.GetEffectList(_config.ResourcesName); if (_boneList != null && _effectlist != null) { foreach (var _bone in _dict.Keys) for (int i = 0; i < _boneList.Count; ++i) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], m_HorseModel.transform.GetChildTransformDeeply(_bone)); m_HorseEffectList.Add(_ctrl); if (_boneList[i].Equals("null")) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_HorseModel.transform); m_HorseEffectList.Add(_ctrl); } else { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_HorseModel.transform.GetChildTransformDeeply(_boneList[i])); m_HorseEffectList.Add(_ctrl); } } } } @@ -2536,9 +2571,9 @@ public void HideGodWeaponEffect() { SwitchGodWeapon(1,0); SwitchGodWeapon(2,0); SwitchGodWeapon(4,0); SwitchGodWeapon(1, 0); SwitchGodWeapon(2, 0); SwitchGodWeapon(4, 0); } public void SwitchGodWeapon(int type, int level) Fight/GameActor/PartialModelResConfig.cs
@@ -8,7 +8,8 @@ private static readonly Dictionary<string, ModelResConfig> suitDict = new Dictionary<string, ModelResConfig>(); private static readonly Dictionary<string, ModelResConfig> petDict = new Dictionary<string, ModelResConfig>(); private static readonly Dictionary<string, ModelResConfig> horseDict = new Dictionary<string, ModelResConfig>(); private static readonly Dictionary<string, Dictionary<string, int>> effectDict = new Dictionary<string, Dictionary<string, int>>(); private static readonly Dictionary<string, List<string>> effectBoneDict = new Dictionary<string, List<string>>(); private static readonly Dictionary<string, List<int>> effectEffectDict = new Dictionary<string, List<int>>(); public void OnConfigParseCompleted() { @@ -44,25 +45,44 @@ Debug.LogWarningFormat("{0} 绑定骨骼的数量和特效的数量无法对应 {1} != {2}", ID, _bones.Length, _effects.Length); } var _dict = new Dictionary<string, int>(); var _boneList = new List<string>(); var _effectList = new List<int>(); for (int i = 0; i < _bones.Length && i < _effects.Length; ++i) for (int i = 0; i < _effects.Length; ++i) { _dict[_bones[i]] = int.Parse(_effects[i]); if (i < _bones.Length) { _boneList.Add(_bones[i]); } else { _boneList.Add("null"); } _effectList.Add(int.Parse(_effects[i])); // Debug.LogFormat("设置特效配置: {0} => {1}", _bones[i], _dict[_bones[i]]); } effectDict[ResourcesName] = _dict; effectBoneDict[ResourcesName] = _boneList; effectEffectDict[ResourcesName] = _effectList; } } } public static Dictionary<string, int> GetEffectDict(string name) public static List<string> GetBoneList(string name) { if (effectDict.ContainsKey(name)) if (effectBoneDict.ContainsKey(name)) { return effectDict[name]; return effectBoneDict[name]; } return null; } public static List<int> GetEffectList(string name) { if (effectEffectDict.ContainsKey(name)) { return effectEffectDict[name]; } return null; } UI/Common/UI3DModelExhibition.cs
@@ -787,13 +787,24 @@ { HideNpcEffect(); var _dict = ModelResConfig.GetEffectDict(modelName); if (_dict != null) var _boneList = ModelResConfig.GetBoneList(modelName); var _effectlist = ModelResConfig.GetEffectList(modelName); if (_boneList != null && _effectlist != null) { foreach (var _bone in _dict.Keys) for (int i = 0; i < _boneList.Count; ++i) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], parent.GetChildTransformDeeply(_bone)); m_BindEffectList.Add(_ctrl); if (_boneList[i].Equals("null")) { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent); m_BindEffectList.Add(_ctrl); } else { var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i])); m_BindEffectList.Add(_ctrl); } } } } UI/Common/UI3DModelFactory.cs
@@ -206,7 +206,7 @@ public static void ReleaseUIHourse(int id, GameObject model) { var prefab = InstanceResourcesLoader.LoadModelRes(id, true); var prefab = InstanceResourcesLoader.LoadModelRes(id, false); var pool = GameObjectPoolManager.Instance.RequestPool(prefab); var animator = model.GetComponent<Animator>();