From 924bda63ce0ea083df42007d0e7a87426c44185d Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 18 四月 2019 14:36:57 +0800
Subject: [PATCH] 3335 炼丹功能

---
 System/Alchemy/AlchemyBasicDrugWin.cs |   63 +++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 5 deletions(-)

diff --git a/System/Alchemy/AlchemyBasicDrugWin.cs b/System/Alchemy/AlchemyBasicDrugWin.cs
index 892ac86..6a2e553 100644
--- a/System/Alchemy/AlchemyBasicDrugWin.cs
+++ b/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();
+            }
         }
     }
 }

--
Gitblit v1.8.0