少年修仙传客户端代码仓库
client_Wu Xijin
2018-11-24 7da296cc4856c65c201ed156c50586c440fd04a0
4737 【1.3】神兵系统UI模型特效展示
3个文件已修改
1个文件已添加
82 ■■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/PartialGodWeaponEffectConfig.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/Resources.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DModelExhibition.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DShowHero.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/PartialGodWeaponEffectConfig.cs
@@ -28,9 +28,19 @@
            GodWeaponEffectConfig config = null;
            foreach (var item in configs[type].Values)
            {
                if (item.level < level && item.level > config.level)
                if (config != null)
                {
                    config = item;
                    if (item.level < level && item.level > config.level)
                    {
                        config = item;
                    }
                }
                else
                {
                    if (item.level < level)
                    {
                        config = item;
                    }
                }
            }
Lua/Gen/Resources.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: a545fb3dcf719304fa74180c10219375
folderAsset: yes
timeCreated: 1542357825
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
UI/Common/UI3DModelExhibition.cs
@@ -496,6 +496,7 @@
                playerModel.Show(instance, job, weaponId, wingId, secondaryId, m_PlayerShowPoint);
                playerModel.UnloadClothedEffect();
                playerModel.TakeOffGodWeaponEffect();
                playerModel.StandUp();
                m_PlayerShowPoint.localEulerAngles = Vector3.zero;
UI/Common/UI3DShowHero.cs
@@ -5,6 +5,7 @@
using UnityEngine;
using TableConfig;
using System.Collections.Generic;
using LitJson;
namespace Snxxz.UI
{
@@ -27,6 +28,7 @@
        Transform showPoint;
        List<SFXController> closthesSFXList = new List<SFXController>();
        List<SFXController> godWeaponSFXList = new List<SFXController>();
        public GameObject Show(UI3DPlayerExhibitionData data, Transform showPoint)
        {
@@ -180,6 +182,7 @@
            secondaryId = 0;
            UnloadClothedEffect();
            TakeOffGodWeaponEffect();
        }
        public void StandUp()
@@ -471,15 +474,70 @@
        private void PutOnGodWeaponEffect(Dictionary<int, int> godWeapons)
        {
            TakeOffGodWeaponEffect();
            if (godWeapons == null)
            {
                return;
            }
            foreach (var key in godWeapons.Keys)
            {
                Transform bone = null;
                switch (key)
                {
                    case 1:
                        if (clothesModel != null)
                        {
                            bone = clothesModel.transform.GetChildTransformDeeply("Bip001 Spine");
                        }
                        break;
                    case 2:
                        if (weaponModel != null)
                        {
                            bone = weaponModel.transform;
                        }
                        break;
                    case 3:
                        if (secondaryModel != null)
                        {
                            bone = secondaryModel.transform;
                        }
                        break;
                    case 4:
                        if (clothesModel != null)
                        {
                            bone = clothesModel.transform.GetChildTransformDeeply("Bip001 Neck");
                        }
                        break;
                    default:
                        break;
                }
                if (bone != null)
                {
                    var config = GodWeaponEffectConfig.Get(key, godWeapons[key]);
                    if (config != null)
                    {
                        var effectJson = JsonMapper.ToObject(config.effect);
                        var effectId = int.Parse(effectJson[this.job.ToString()].ToString());
                        var effect = SFXPlayUtility.Instance.PlayBattleEffect(effectId, bone);
                        godWeaponSFXList.Add(effect);
                    }
                }
            }
        }
        public void TakeOffGodWeaponEffect()
        {
            foreach (var effect in godWeaponSFXList)
            {
                SFXPlayUtility.Instance.Release(effect);
            }
            godWeaponSFXList.Clear();
        }
        private PlayerSuitModel SuitModel { get { return ModelCenter.Instance.GetModel<PlayerSuitModel>(); } }
        private PlayerPackModel PlayerBackModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }