少年修仙传客户端代码仓库
client_Hale
2018-12-10 ecad7721f9971664da54637026c9c6cff465cc47
4434 Npc与坐骑【翅膀、副手】的搭配形成新的Npc 材质加载回收
1个文件已修改
49 ■■■■ 已修改文件
UI/Common/UI3DModelExhibition.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DModelExhibition.cs
@@ -25,7 +25,8 @@
        [SerializeField] UI3DModelInteractProcessor m_InteractProcessor;
        [SerializeField] ColorCorrectionCurves m_CameraColor;
        public bool interactable {
        public bool interactable
        {
            get { return m_Interactable; }
            set { m_Interactable = value; }
        }
@@ -34,7 +35,8 @@
        int m_HorseModelId = 0;
        GameObject horseModel = null;
        public GameObject NpcModelHorse {
        public GameObject NpcModelHorse
        {
            get { return horseModel; }
            set { horseModel = value; }
        }
@@ -42,7 +44,8 @@
        int m_NPCId = 0;
        GameObject npcModel = null;
        SFXController m_NpcEffect;
        public GameObject NpcModelPet {
        public GameObject NpcModelPet
        {
            get { return npcModel; }
            set { npcModel = value; }
        }
@@ -66,8 +69,10 @@
        public static UI3DModelExhibition Instance { get; private set; }
        static UI3DModelExhibition m_InstanceClone1 = null;
        public static UI3DModelExhibition InstanceClone1 {
            get {
        public static UI3DModelExhibition InstanceClone1
        {
            get
            {
                if (m_InstanceClone1 == null)
                {
                    CreateCloneStage();
@@ -487,6 +492,32 @@
                npcModel = instance;
                isShowingNPC = true;
                var _configName = string.Empty;
                if (job == 1)
                {
                    _configName = config.MODE.Substring(config.MODE.LastIndexOf("A_"));
                }
                else if (job ==2)
                {
                    _configName = config.MODE.Substring(config.MODE.LastIndexOf("A_"));
                }
                if (!string.IsNullOrEmpty(_configName))
                {
                    var _renderer = instance.GetComponentInChildren<SkinnedMeshRenderer>();
                    if (_renderer)
                    {
                        MaterialLoader.Release(_renderer.material);
                        var _modelResConfig = ModelResConfig.GetClothesConfig(_configName);
                        if (_modelResConfig != null)
                        {
                            _renderer.material = MaterialLoader.LoadClothesMaterial(_modelResConfig.ID, false, false);
                        }
                    }
                }
                var ids = config.Equips.Split('|');
                var weaponId = int.Parse(ids[0]);
                var secondaryId = ids.Length > 1 ? int.Parse(ids[1]) : 0;
@@ -543,6 +574,14 @@
                return;
            }
            var _renderer = instance.GetComponentInChildren<SkinnedMeshRenderer>();
            if (_renderer)
            {
                MaterialLoader.Release(_renderer.material);
                _renderer.material = _renderer.sharedMaterial = null;
                _renderer.materials = _renderer.sharedMaterials = new Material[0];
            }
            interactable = !_isDialogue;
            isShowingNPC = true;