少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-26 af278f7dc215fb97866bd3de220cbee720d4f1d4
3335 修改升星特殊材料逻辑。
2个文件已添加
3个文件已修改
133 ■■■■ 已修改文件
System/EquipStar/EquipStarModel.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarUpgradeMaterialBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarWin.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarModel.cs
@@ -20,9 +20,9 @@
            {3,new LogicString () },
            {4,new LogicString () },
            {5,new LogicString () },
            {6,new LogicString () },
        };
        public readonly LogicInt specialMaterial = new LogicInt();
        public readonly LogicInt starResultEffect = new LogicInt();
        Dictionary<int, EquipSetStar> equipStars = new Dictionary<int, EquipSetStar>();
@@ -105,8 +105,7 @@
                return;
            }
            var specialMaterial = packModel.GetItemByGuid(materials[6].value);
            if (config.CostItemDict.x > 0 && (specialMaterial == null || specialMaterial.config.ID != config.CostItemDict.x))
            if (config.CostItemDict.x > 0 && packModel.GetItemCountByID(PackType.Item, config.CostItemDict.x) < config.CostItemDict.y)
            {
                SysNotifyMgr.Instance.ShowTip("StarLevelUp2", config.CostItemDict.x);
                return;
@@ -365,7 +364,7 @@
                }
            }
            for (var i = 1; i <= 6; i++)
            for (var i = 1; i <= 5; i++)
            {
                var placedMaterialGuid = GetMaterialLogicStringByIndex(i).value;
                var materialItem = packModel.GetItemByGuid(placedMaterialGuid);
@@ -432,12 +431,11 @@
                if (config.CostItemDict.x > 0)
                {
                    var itemId = config.CostItemDict.x;
                    var items = packModel.GetItemsById(PackType.Item, itemId);
                    materials[6].value = items.IsNullOrEmpty() ? string.Empty : items[0].guid;
                    specialMaterial.value = itemId;
                }
                else
                {
                    materials[6].value = string.Empty;
                    specialMaterial.value = 0;
                }
            }
            else
System/EquipStar/EquipStarUpgradeMaterialBehaviour.cs
@@ -29,7 +29,7 @@
            DisplayBaseInfo(this.isUnLocked);
            DisplayDynamicInfo(true);
            m_AddMaterial.SetListener(OpenCandidateMaterials);
            m_AddMaterial.SetListener(AddMaterials);
            m_RemoveMaterial.SetListener(RemoveMaterial);
        }
@@ -69,7 +69,7 @@
            }
        }
        private void OpenCandidateMaterials()
        private void AddMaterials()
        {
            model.operateMaterialIndex.value = m_Index;
        }
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs
New file
@@ -0,0 +1,72 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, March 26, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class EquipStarUpgradeSpecialMaterialBehaviour : MonoBehaviour
    {
        [SerializeField] RectTransform m_Empty;
        [SerializeField] ItemBehaviour m_Item;
        [SerializeField] Button m_AddMaterial;
        [SerializeField] RectTransform m_Locked;
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        bool isUnLocked = false;
        int itemId = 0;
        public void Display(bool isUnLocked, int itemId)
        {
            this.isUnLocked = isUnLocked;
            this.itemId = itemId;
            DisplayBaseInfo();
            m_AddMaterial.SetListener(AddMaterials);
        }
        private void DisplayBaseInfo()
        {
            m_Locked.gameObject.SetActive(!isUnLocked);
            if (isUnLocked)
            {
                var own = packModel.GetItemCountByID(PackType.Item, itemId);
                if (own > 0)
                {
                    m_Item.gameObject.SetActive(true);
                    m_Item.SetItem(itemId, 1);
                    m_Empty.gameObject.SetActive(false);
                    m_AddMaterial.gameObject.SetActive(false);
                }
                else
                {
                    m_Item.gameObject.SetActive(false);
                    m_Empty.gameObject.SetActive(true);
                    m_AddMaterial.gameObject.SetActive(true);
                }
            }
            else
            {
                m_Empty.gameObject.SetActive(true);
                m_AddMaterial.gameObject.SetActive(false);
                m_Item.gameObject.SetActive(false);
            }
        }
        private void AddMaterials()
        {
            ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(itemId);
        }
    }
}
System/EquipStar/EquipStarUpgradeSpecialMaterialBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 739e6ee2c7736cf4aaaeacb69f7fd362
timeCreated: 1553586646
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/EquipStar/EquipStarWin.cs
@@ -26,8 +26,8 @@
        [SerializeField] Button m_StarUpgrade;
        [SerializeField] RectTransform m_MaxStarLevelHint;
        [SerializeField] EquipStarMaterialCandidateWidget m_MaterialCandidateWidget;
        [SerializeField] UIEffect m_EffectSuccessfu1;
        [SerializeField] UIEffect m_EffectSuccessfu2;
        [SerializeField] UIEffect m_EffectStarFill;
        [SerializeField] UIEffect m_EffectSuccess;
        [SerializeField] UIEffect m_EffectFailed;
        List<EquipStarLevelSelectBehaviour> levelBehaviours = new List<EquipStarLevelSelectBehaviour>();
@@ -197,10 +197,12 @@
            if (!upgradable || isMax)
            {
                for (var i = 1; i <= 6; i++)
                for (var i = 1; i <= 5; i++)
                {
                    m_Materials[i].Display(false);
                }
                m_Materials.materialSpecial.Display(false, 0);
            }
            else
            {
@@ -210,7 +212,7 @@
                    m_Materials[i].Display(starConfig != null && i <= starConfig.CostEquipCnt);
                }
                m_Materials[6].Display(starConfig != null && starConfig.CostItemDict.x != 0);
                m_Materials.materialSpecial.Display(starConfig != null && starConfig.CostItemDict.x != 0, starConfig.CostItemDict.x);
            }
        }
@@ -386,26 +388,33 @@
        private void PlayStarUpgradeEffect(int result)
        {
            if (result == 1)
            if (result == 1 || result == -1)
            {
                StopCoroutine("Co_PlaySuccessEffect");
                StopCoroutine("Co_PlayFailedEffect");
            }
            if (result == 1)
            {
                StartCoroutine("Co_PlaySuccessEffect");
            }
            else if (result == -1)
            {
                PlayFailedEffect();
                StartCoroutine("Co_PlayFailedEffect");
            }
        }
        IEnumerator Co_PlaySuccessEffect()
        {
            m_EffectSuccessfu1.Play();
            yield return WaitingForSecondConst.WaitMS500;
            m_EffectSuccessfu2.Play();
            m_EffectStarFill.Play();
            yield return WaitingForSecondConst.WaitMS700;
            m_EffectSuccess.Play();
        }
        private void PlayFailedEffect()
        IEnumerator Co_PlayFailedEffect()
        {
            m_EffectStarFill.Play();
            yield return WaitingForSecondConst.WaitMS700;
            m_EffectFailed.Play();
        }
@@ -436,7 +445,7 @@
            public EquipStarUpgradeMaterialBehaviour m_Material3;
            public EquipStarUpgradeMaterialBehaviour m_Material4;
            public EquipStarUpgradeMaterialBehaviour m_Material5;
            public EquipStarUpgradeMaterialBehaviour m_MaterialSpecial;
            public EquipStarUpgradeSpecialMaterialBehaviour materialSpecial;
            public EquipStarUpgradeMaterialBehaviour this[int index] {
                get {
@@ -452,8 +461,6 @@
                            return m_Material4;
                        case 5:
                            return m_Material5;
                        case 6:
                            return m_MaterialSpecial;
                        default:
                            return null;
                    }