少年修仙传客户端代码仓库
client_linchunjie
2019-04-18 924bda63ce0ea083df42007d0e7a87426c44185d
3335 炼丹功能
2 文件已重命名
4个文件已添加
11个文件已修改
396 ■■■■ 已修改文件
System/Alchemy/AlchemyBaseWin.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyBaseWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyBasicDrugWin.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyBriefBehaviour.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyDrugBriefBehaviour.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyFairyDrugWin.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyFairyDrugWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyQualityCell.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyScrollBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyScrollBehaviour.cs.meta 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyStoveBehaviour.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyStudyBehaviour.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/LowSettingTip.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/PromoteDetailsWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/FairyTreasureCollectPanelPattern5.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyBaseWin.cs
New file
@@ -0,0 +1,100 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, April 18, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class AlchemyBaseWin : Window
    {
        [SerializeField] FunctionButtonGroup m_FuncGroup;
        [SerializeField] FunctionButton m_AlchemyNormal;
        [SerializeField] FunctionButton m_AlchemyFairy;
        [SerializeField] Button m_Close;
        [SerializeField] Button m_Left;
        [SerializeField] Button m_Right;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_AlchemyNormal.AddListener(ShowAlchemyNormal);
            m_AlchemyFairy.AddListener(ShowAlchemyFairy);
            m_Left.AddListener(()=>
            {
                m_FuncGroup.TriggerLast();
            });
            m_Right.AddListener(()=>
            {
                m_FuncGroup.TriggerNext();
            });
            m_Close.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
        }
        protected override void OnActived()
        {
            base.OnActived();
            m_FuncGroup.TriggerByOrder(functionOrder);
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            CloseSubWindows();
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void ShowAlchemyFairy()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<AlchemyFairyDrugWin>();
            functionOrder = m_AlchemyFairy.order;
        }
        private void ShowAlchemyNormal()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<AlchemyBasicDrugWin>();
            functionOrder = m_AlchemyNormal.order;
        }
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("AlchemyBaseWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
            }
        }
    }
}
System/Alchemy/AlchemyBaseWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0b437d3b0173d5845add5741ae809f44
timeCreated: 1555556613
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Alchemy/AlchemyBasicDrugWin.cs
@@ -6,6 +6,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
@@ -14,7 +15,13 @@
    public class AlchemyBasicDrugWin : Window
    {
        [SerializeField] AlchemyBasicPanel m_AlchemyPanel;
        [SerializeField] AlchemyScrollBehaviour m_AlchemyScroll;
        [SerializeField] AlchemyDrugBriefBehaviour m_AlchemyDrug;
        [SerializeField] AlchemyStudyBehaviour m_AlchemyStudy;
        [SerializeField] AlchemyBriefBehaviour m_AlchemyBrief;
        [SerializeField] AlchemyStoveBehaviour m_AlchemyStove;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        #region Built-in
        protected override void BindController()
        {
@@ -26,9 +33,15 @@
        protected override void OnPreOpen()
        {
            Display();
            SetDefaultSelect();
            m_AlchemyPanel.Display((int)AlchemyType.Normal);
            m_AlchemyScroll.Display((int)AlchemyType.Normal);
            DisplayAlchmey();
            m_AlchemyDrug.Display();
            m_AlchemyStove.Display();
            model.selectAlchemyRefresh += SelectAlchemyRefresh;
            model.selectQualityRefresh += SelectQualityRefresh;
        }
        protected override void OnAfterOpen()
@@ -37,7 +50,14 @@
        protected override void OnPreClose()
        {
            m_AlchemyPanel.Dispose();
            m_AlchemyScroll.Dispose();
            m_AlchemyDrug.Dispose();
            m_AlchemyStudy.Dispose();
            m_AlchemyBrief.Dispose();
            m_AlchemyStove.Dispose();
            model.selectAlchemyRefresh -= SelectAlchemyRefresh;
            model.selectQualityRefresh -= SelectQualityRefresh;
        }
        protected override void OnAfterClose()
@@ -45,9 +65,42 @@
        }
        #endregion
        void Display()
        void SetDefaultSelect()
        {
            var qualities = AlchemyConfig.GetAlchemyQualities((int)AlchemyType.Normal);
            model.selectQuality = qualities.First();
            var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Normal, model.selectQuality);
            model.selectAlchemy = alchemys[0];
        }
        private void SelectQualityRefresh()
        {
            var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Normal, model.selectQuality);
            model.selectAlchemy = alchemys[0];
        }
        private void SelectAlchemyRefresh()
        {
            DisplayAlchmey();
        }
        void DisplayAlchmey()
        {
            var grasp = model.IsGraspRecipe(model.selectAlchemy);
            m_AlchemyStudy.gameObject.SetActive(!grasp);
            m_AlchemyBrief.gameObject.SetActive(grasp);
            if (grasp)
            {
                m_AlchemyStudy.Display();
                m_AlchemyBrief.Dispose();
            }
            else
            {
                m_AlchemyBrief.Display();
                m_AlchemyStudy.Dispose();
            }
        }
    }
}
System/Alchemy/AlchemyBriefBehaviour.cs
@@ -1,4 +1,5 @@
using System.Collections;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
@@ -11,14 +12,10 @@
        [SerializeField] Text m_AlchemyCount;
        [SerializeField] Text m_AlchemySuccRate;
        int alchemyId = 0;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        public void Display(int alchemyId)
        public void Display()
        {
            this.alchemyId = alchemyId;
            DisplayAlchemyTime();
            DisplayAlchemyCount();
            DisplaySuccRate();
@@ -26,14 +23,14 @@
        void DisplayAlchemyTime()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_AlchemyTime.text = TimeUtility.SecondsToDHMSCHS(config.NeedTime);
        }
        void DisplayAlchemyCount()
        {
            AlchemyCount alchemyCount;
            if (model.TryGetAlchemyCount(alchemyId, out alchemyCount))
            if (model.TryGetAlchemyCount(model.selectAlchemy, out alchemyCount))
            {
                if (alchemyCount.min == alchemyCount.max)
                {
@@ -48,14 +45,13 @@
        void DisplaySuccRate()
        {
            var succRate = model.GetAlchemySuccRate(alchemyId);
            var succRate = model.GetAlchemySuccRate(model.selectAlchemy);
            var rate = (int)(succRate / 100);
            m_AlchemySuccRate.text = rate + "%";
        }
        public void Dispose()
        {
        }
    }
}
System/Alchemy/AlchemyDrugBriefBehaviour.cs
@@ -1,4 +1,5 @@
using System.Collections;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
@@ -12,28 +13,29 @@
        [SerializeField] PropertyBehaviour[] m_Propertys;
        [SerializeField] Text m_Effect;
        int alchemyId = 0;
        static Dictionary<int, int> s_Propertys = new Dictionary<int, int>();
        public void Display(int alchemyId)
        {
            this.alchemyId = alchemyId;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        public void Display()
        {
            DisplayItem();
            DisplayProperty();
            DisplayEffect();
            model.selectAlchemyRefresh -= SelectAlchemyRefresh;
            model.selectAlchemyRefresh += SelectAlchemyRefresh;
        }
        void DisplayItem()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_Item.SetItem(config.AlchemItemID, 0);
        }
        void DisplayProperty()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_ContainerProperty.gameObject.SetActive(config.drugPromoteType == 1);
            if (config.drugPromoteType == 1)
            {
@@ -58,7 +60,7 @@
        void DisplayEffect()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_Effect.gameObject.SetActive(config.drugPromoteType == 2);
            if (config.drugPromoteType == 2)
            {
@@ -66,9 +68,16 @@
            }
        }
        private void SelectAlchemyRefresh()
        {
            DisplayItem();
            DisplayProperty();
            DisplayEffect();
        }
        public void Dispose()
        {
            model.selectAlchemyRefresh -= SelectAlchemyRefresh;
        }
        static void GetItemPromoteProperty(ItemConfig config, ref Dictionary<int, int> dict)
System/Alchemy/AlchemyFairyDrugWin.cs
New file
@@ -0,0 +1,111 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, April 18, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class AlchemyFairyDrugWin : Window
    {
        [SerializeField] AlchemyScrollBehaviour m_AlchemyScroll;
        [SerializeField] AlchemyDrugBriefBehaviour m_AlchemyDrug;
        [SerializeField] AlchemyStudyBehaviour m_AlchemyStudy;
        [SerializeField] AlchemyBriefBehaviour m_AlchemyBrief;
        [SerializeField] AlchemyStoveBehaviour m_AlchemyStove;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            SetDefaultSelect();
            m_AlchemyScroll.Display((int)AlchemyType.Fairy);
            DisplayAlchmey();
            m_AlchemyDrug.Display();
            m_AlchemyStove.Display();
            model.selectAlchemyRefresh += SelectAlchemyRefresh;
            model.selectQualityRefresh += SelectQualityRefresh;
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            m_AlchemyScroll.Dispose();
            m_AlchemyDrug.Dispose();
            m_AlchemyStudy.Dispose();
            m_AlchemyBrief.Dispose();
            m_AlchemyStove.Dispose();
            model.selectAlchemyRefresh -= SelectAlchemyRefresh;
            model.selectQualityRefresh -= SelectQualityRefresh;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        void SetDefaultSelect()
        {
            var qualities = AlchemyConfig.GetAlchemyQualities((int)AlchemyType.Fairy);
            model.selectQuality = qualities.First();
            var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Fairy, model.selectQuality);
            model.selectAlchemy = alchemys[0];
        }
        private void SelectQualityRefresh()
        {
            var alchemys = AlchemyConfig.GetAlchemies((int)AlchemyType.Normal, model.selectQuality);
            model.selectAlchemy = alchemys[0];
        }
        private void SelectAlchemyRefresh()
        {
            DisplayAlchmey();
        }
        void DisplayAlchmey()
        {
            var grasp = model.IsGraspRecipe(model.selectAlchemy);
            m_AlchemyStudy.gameObject.SetActive(!grasp);
            m_AlchemyBrief.gameObject.SetActive(grasp);
            if (grasp)
            {
                m_AlchemyStudy.Display();
                m_AlchemyBrief.Dispose();
            }
            else
            {
                m_AlchemyBrief.Display();
                m_AlchemyStudy.Dispose();
            }
        }
    }
}
System/Alchemy/AlchemyFairyDrugWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a956b841a88839a4594216946ae6bb55
timeCreated: 1555568773
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Alchemy/AlchemyQualityCell.cs
@@ -27,6 +27,7 @@
            this.quality = quality;
            m_QualityName.text = string.Format("{0}品丹方", Language.Get("Num_CHS_" + quality));
            m_ContainerSelect.gameObject.SetActive(model.selectQuality == quality);
            m_Arrow.transform.localEulerAngles = new Vector3(0, 0, model.selectQuality == quality ? -90 : 0);
        }
        private void OnSelect()
System/Alchemy/AlchemyScrollBehaviour.cs
File was renamed from System/Alchemy/AlchemyBasicPanel.cs
@@ -4,7 +4,7 @@
using UnityEngine;
namespace Snxxz.UI
{
    public class AlchemyBasicPanel : MonoBehaviour
    public class AlchemyScrollBehaviour : MonoBehaviour
    {
        [SerializeField] ScrollerController m_Controller;
System/Alchemy/AlchemyScrollBehaviour.cs.meta
System/Alchemy/AlchemyStoveBehaviour.cs
@@ -82,15 +82,27 @@
        void DisplayStove()
        {
            m_ContainerAlcheming.gameObject.SetActive(state == 1);
            m_ContainerNormal.gameObject.SetActive(state == 0);
            m_ContainerComplete.gameObject.SetActive(state == 2);
            switch (state)
            {
                case 0:
                    m_StoveLevel.text = StringUtility.Contact("Lv.", model.stoveLevel);
                    var isMax = !RefineStoveConfig.Has(model.stoveLevel + 1);
                    var stoveConfig = RefineStoveConfig.Get(model.stoveLevel);
                    m_StoveExp.text = StringUtility.Contact(model.stoveExp, "/", stoveConfig.Exp);
                    var progress = Mathf.Clamp01((float)model.stoveExp / stoveConfig.Exp);
                    m_StoveExpSlider.value = progress;
                    if (isMax)
                    {
                        m_StoveExp.text = "已满级";
                        m_StoveExpSlider.value = 1;
                    }
                    else
                    {
                        m_StoveExp.text = StringUtility.Contact(model.stoveExp, "/", stoveConfig.Exp);
                        var progress = Mathf.Clamp01((float)model.stoveExp / stoveConfig.Exp);
                        m_StoveExpSlider.value = progress;
                    }
                    break;
                case 1:
                    uint tick = 0;
@@ -209,6 +221,7 @@
        }
    }
    [Serializable]
    public class AlchemyMaterial
    {
        [SerializeField] Transform m_ContainerItem;
System/Alchemy/AlchemyStudyBehaviour.cs
@@ -14,8 +14,6 @@
        [SerializeField] Button m_Func;
        [SerializeField] Text m_FuncLabel;
        int alchemyId = 0;
        AlchemyModel model { get { return ModelCenter.Instance.GetModel<AlchemyModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -24,10 +22,8 @@
            m_Func.SetListener(Learn);
        }
        public void Display(int alchemyId)
        public void Display()
        {
            this.alchemyId = alchemyId;
            DisplayItem();
            DisplayStoveCondition();
            DisplayPropertyCondition();
@@ -36,13 +32,13 @@
        void DisplayItem()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_Item.SetItem(config.LearnNeedItemID, 1);
        }
        void DisplayStoveCondition()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_StoveCondition.gameObject.SetActive(config.LearnNeedAlchemLV > 0);
            if (config.LearnNeedAlchemLV > 0)
            {
@@ -54,7 +50,7 @@
        void DisplayPropertyCondition()
        {
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            m_PropertyCondition.gameObject.SetActive(config.LearnNeedLuck > 0);
            if (config.LearnNeedLuck > 0)
            {
@@ -78,7 +74,7 @@
            if (TryLearn(out error))
            {
                var pak = new CA576_tagCMPlayerRefine();
                pak.AlchemyID = (uint)alchemyId;
                pak.AlchemyID = (uint)model.selectAlchemy;
                pak.DoType = 0;
                GameNetSystem.Instance.SendInfo(pak);
            }
@@ -91,7 +87,7 @@
        bool TryLearn(out int error)
        {
            error = 0;
            var config = AlchemyConfig.Get(alchemyId);
            var config = AlchemyConfig.Get(model.selectAlchemy);
            var count = packModel.GetItemCountByID(PackType.Item, config.LearnNeedItemID);
            if (count <= 0)
            {
@@ -129,7 +125,6 @@
        public void Dispose()
        {
        }
    }
}
System/DailyQuest/DailyQuestWin.cs
@@ -470,7 +470,7 @@
        private void GotoBlastStove()
        {
            WindowCenter.Instance.Close<DailyQuestWin>();
            WindowCenter.Instance.Open<BlastFurnaceWin>();
            WindowCenter.Instance.Open<AlchemyBaseWin>();
        }
        private void GotoBountyMission()
System/MainInterfacePanel/LowSettingTip.cs
@@ -74,7 +74,7 @@
        void OnClickBagualuBtn()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<BlastFurnaceWin>();
            WindowCenter.Instance.Open<AlchemyBaseWin>();
        }
        void SkillButton()
System/Tip/PromoteDetailsWin.cs
@@ -110,7 +110,7 @@
                    //WindowCenter.Instance.Open<EquipReinforceWin>(false, 1);
                    break;
                case RolePromoteModel.PromoteDetailType.BlastFurnace:
                    WindowCenter.Instance.Open<BlastFurnaceWin>(false, 1);
                    WindowCenter.Instance.Open<AlchemyBaseWin>(false, 0);
                    break;
            }
            CloseClick();
System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -401,7 +401,7 @@
        {
            WindowCenter.Instance.Close<TreasureBaseWin>();
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<BlastFurnaceWin>();
            WindowCenter.Instance.Open<AlchemyBaseWin>();
        }
        private void Active()
System/WindowJump/WindowJumpMgr.cs
@@ -388,7 +388,7 @@
                SetJumpLogic<LootPreciousFrameWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.BlastFurnaceFunc1:
                SetJumpLogic<BlastFurnaceWin>(_tagWinSearchModel.TABID);
                SetJumpLogic<AlchemyBaseWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.MyTeamType1:
            case JumpUIType.TeamListType1:
@@ -504,7 +504,7 @@
                {
                    RoleElixirTipWin.makeUseId = ItemOperateUtility.Instance.useItemModel.itemId;
                }
                SetJumpLogic<BlastFurnaceWin>(_tagWinSearchModel.TABID);
                SetJumpLogic<AlchemyBaseWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.SevenDaysTour281:
            case JumpUIType.SevenDaysTour282:
@@ -541,7 +541,7 @@
            case JumpUIType.Alchemyrescripte104:
            case JumpUIType.Alchemyrescripte105:
                ModelCenter.Instance.GetModel<BlastFurnaceModel>().jumpToPrescripe = int.Parse(_tagWinSearchModel.SelectActive);
                SetJumpLogic<BlastFurnaceWin>(_tagWinSearchModel.TABID);
                SetJumpLogic<AlchemyBaseWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.AttackMagicianType1:
            case JumpUIType.AttackMagicianType2: