Explorar el Código

【+】更改工具库

lxd hace 5 meses
padre
commit
3c32f0dd68

+ 148 - 22
Framework/Scripts/Proxys/ToolConfigProxy.cs

@@ -1,4 +1,5 @@
-  using System.Collections;
+using QFramework;
+using System.Collections;
 using System.Collections.Generic;
 using System.IO;
 using UnityEngine;
@@ -9,13 +10,31 @@ public class ToolConfigProxy : DataProxy
 
     Dictionary<string,Sprite> m_DicToolSprites;
 
-    public List<ToolConfigInfo> m_CurrentToolKitConfigInfos;
+    /// <summary>
+    /// 目前工具间里的已经选择的所有工具信息
+    /// </summary>
+    public List<ToolConfigInfo> m_CurrentToolRoomConfigInfos;
+
+    /// <summary>
+    /// 临时缓存保存使用
+    /// </summary>
+    public List<ToolConfigInfo> m_TmpToolRoomConfigInfos;
+
+    /// <summary>
+    /// 工具包中选择的工具
+    /// </summary>
+    private List<ToolConfigInfo> m_CurrentToolKitSelectToolConfigInfos;
 
     /// <summary>
     /// 默认工具信息表加载路径
     /// </summary>
     string m_ToolConfigPath;
 
+    /// <summary>
+    ///  目前题库类型
+    /// </summary>
+    public ToolLibraryType m_CurrentToolLibraryType;
+
     public override void OnRegister()
     {
         base.OnRegister();
@@ -26,7 +45,11 @@ public class ToolConfigProxy : DataProxy
 
         m_ToolConfigInfos = ExcelHelper.ReadInfoFromExcel<ToolConfigInfo>(m_ToolConfigPath, 1);
 
-        m_CurrentToolKitConfigInfos = new List<ToolConfigInfo>();
+        m_TmpToolRoomConfigInfos = new List<ToolConfigInfo>();
+
+        m_CurrentToolRoomConfigInfos = new List<ToolConfigInfo>();
+
+        m_CurrentToolKitSelectToolConfigInfos = new List<ToolConfigInfo>();
     }
 
     public override void OnRemove()
@@ -36,6 +59,118 @@ public class ToolConfigProxy : DataProxy
         m_ToolConfigInfos.Clear();
     }
 
+    /// <summary>
+    /// 从m_CurrentToolRoomConfigInfos中查找对应数据信息
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    public ToolConfigInfo GetToolConfigInfoFromCTRSTCIsById(int id)
+    {
+        return m_TmpToolRoomConfigInfos.Find(t => t.id == id.ToString());
+    }
+
+    /// <summary>
+    /// 获取工具间中的所有数据
+    /// </summary>
+    /// <returns></returns>
+    public List<ToolConfigInfo> GetAllToolConfigInfoFromCTRSTCIs()
+    {
+        return m_CurrentToolRoomConfigInfos;
+    }
+
+    /// <summary>
+    /// 从m_CurrentToolRoomConfigInfos中查找并删除对应数据信息
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    public bool RemoveToolConfigInfoFromCTRSTCIsById(int id)
+    {
+        ToolConfigInfo tmpConfigInfo = GetToolConfigInfoFromCTRSTCIsById(id);
+
+        if (tmpConfigInfo != null)
+        {
+            m_CurrentToolRoomConfigInfos.Remove(tmpConfigInfo);
+
+            return true;
+        }
+
+        return  false;
+    }
+
+    /// <summary>
+    /// 向m_CurrentToolRoomConfigInfos中添加数据信息
+    /// </summary>
+    /// <param name="toolConfigInfo"></param>
+    public void AddToolConfigInfoToCTRSTCIs(ToolConfigInfo toolConfigInfo)
+    {
+        m_TmpToolRoomConfigInfos.Add(toolConfigInfo);
+    }
+
+    /// <summary>
+    /// 清除m_CurrentToolRoomConfigInfos数据信息
+    /// </summary>
+    /// <param name="toolConfigInfo"></param>
+    public void ClearToolConfigInfoToCTRSTCIs()
+    {
+        m_TmpToolRoomConfigInfos.Clear();
+    }
+
+    /// <summary>
+    /// 从m_CurrentToolKitSelectToolConfigInfos中查找对应数据信息
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    public ToolConfigInfo GetToolConfigInfoFromCTKSTCIsById(int id)
+    {
+        return m_CurrentToolKitSelectToolConfigInfos.Find(t => t.id == id.ToString());
+    }
+
+    /// <summary>
+    /// 获取工具包中的所有数据
+    /// </summary>
+    /// <returns></returns>
+    public List<ToolConfigInfo> GetAllToolConfigInfoFromCTKSTCIs()
+    {
+        return m_CurrentToolKitSelectToolConfigInfos;
+    }
+
+    /// <summary>
+    /// 从m_CurrentToolKitSelectToolConfigInfos中查找并删除对应数据信息
+    /// </summary>
+    /// <param name="id"></param>
+    /// <returns></returns>
+    public bool RemoveToolConfigInfoFromCTKSTCIsById(int id)
+    {
+        ToolConfigInfo tmpConfigInfo = GetToolConfigInfoFromCTKSTCIsById(id);
+
+        if (tmpConfigInfo != null)
+        {
+            m_CurrentToolKitSelectToolConfigInfos.Remove(tmpConfigInfo);
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /// <summary>
+    /// 向m_CurrentToolKitSelectToolConfigInfos中添加数据信息
+    /// </summary>
+    /// <param name="toolConfigInfo"></param>
+    public void AddToolConfigInfoToCTKSTCIs(ToolConfigInfo toolConfigInfo)
+    {
+        m_CurrentToolKitSelectToolConfigInfos.Add(toolConfigInfo);
+    }
+
+    /// <summary>
+    /// 清除m_CurrentToolKitSelectToolConfigInfos数据信息
+    /// </summary>
+    /// <param name="toolConfigInfo"></param>
+    public void ClearToolConfigInfoToCTKSTCIs()
+    {
+        m_CurrentToolKitSelectToolConfigInfos.Clear();
+    }
+
     /// <summary>
     /// 获取所有的工具类型
     /// </summary>
@@ -137,25 +272,24 @@ public class ToolConfigProxy : DataProxy
 
         if (string.IsNullOrEmpty(toolName) && !string.IsNullOrEmpty(toolType))
         {
-            toolConfigInfos = GetToolConfigInfosByToolType(m_CurrentToolKitConfigInfos, toolType);
+            toolConfigInfos = GetToolConfigInfosByToolType(m_CurrentToolRoomConfigInfos, toolType);
         }
         else if (string.IsNullOrEmpty(toolType) && !string.IsNullOrEmpty(toolName))
         {
-            toolConfigInfos = GetToolConfigInfosByToolNameSearch(m_CurrentToolKitConfigInfos, toolName);
+            toolConfigInfos = GetToolConfigInfosByToolNameSearch(m_CurrentToolRoomConfigInfos, toolName);
         }
         else if (!string.IsNullOrEmpty(toolName) && !string.IsNullOrEmpty(toolType))
         {
-            toolConfigInfos = m_CurrentToolKitConfigInfos.FindAll(tool => tool.toolType == toolType && tool.toolName.Contains(toolName));
+            toolConfigInfos = m_CurrentToolRoomConfigInfos.FindAll(tool => tool.toolType == toolType && tool.toolName.Contains(toolName));
         }
         else
         {
-            toolConfigInfos = m_CurrentToolKitConfigInfos;
+            toolConfigInfos = m_CurrentToolRoomConfigInfos;
         }
 
         return toolConfigInfos;
     }
 
-
     /// <summary>
     /// 获取所有工具更具工具名的模糊搜索
     /// </summary>
@@ -194,21 +328,13 @@ public class ToolConfigProxy : DataProxy
         return m_ToolConfigInfos.Find(t => t.toolName == _toolName);
     }
 
-   /// <summary>
-   /// 设置工具背包的工具
-   /// </summary>
-   /// <param name="toolIds">工具信息ID</param>
-    public void SetCurrrentToolKitToolConfigInfo(List<int> toolIds)
+    /// <summary>
+    /// 设置工具背包的工具
+    /// </summary>
+    /// <param name="toolConfigInfos">工具信息</param>
+    public void SetCurrrentToolRoomToolConfigInfos(List<ToolConfigInfo> toolConfigInfos)
     {
-        m_CurrentToolKitConfigInfos = new List<ToolConfigInfo>();
-
-        foreach (var id in toolIds)
-        {
-            ToolConfigInfo toolConfigInfo = new ToolConfigInfo();
-
-            toolConfigInfo = GetTooConfigInfoById(id);
-            m_CurrentToolKitConfigInfos.Add(toolConfigInfo);
-        }
+        m_CurrentToolRoomConfigInfos = toolConfigInfos;
     }
 
     /// <summary>

+ 4 - 1
Framework/Scripts/UI/PCController/OperateSetting.cs

@@ -57,8 +57,11 @@ public class OperateSetting : MonoSingleton<OperateSetting>
 
     public ToolPackUILogic ToolPackUILogic;
 
+    /// <summary>
+    /// 工具包中的工具
+    /// </summary>
     [HideInInspector]
-    public List<ToolConfig> m_ToolLibraryToolConfigs;
+    public List<ToolConfig> m_ToolKitToolConfigs;
 
     /// <summary>
     /// 当前步骤正确的工具名称

+ 8 - 8
Framework/SimulationToolDev/OperationDriver/OperationData-Example/TriggerMode/OpTrigger_Toolbackpack/OpTrigger_ToolPack.cs

@@ -293,22 +293,22 @@ public class OpTrigger_ToolPack : OperationData_TriggerMode
         {
             if (!IsGetRightTool())
             {
-                UIKit.GetPanel<PC_OperatePanel>().OperateStep.ToolLibraryBtn.OpenPrompt();
+                UIKit.GetPanel<PC_OperatePanel>().OperateStep.ToolBackPackBtn.OpenPrompt();
             }
             else
             {
-                UIKit.GetPanel<PC_OperatePanel>().OperateStep.ToolLibraryBtn.ClosePrompt();
+                UIKit.GetPanel<PC_OperatePanel>().OperateStep.ToolBackPackBtn.ClosePrompt();
             }
         }
         else
         {
-            UIKit.GetPanel<PC_OperatePanel>().OperateStep.ToolLibraryBtn.ClosePrompt();
+            UIKit.GetPanel<PC_OperatePanel>().OperateStep.ToolBackPackBtn.ClosePrompt();
         }
 
 
         if (useTool && choseToolNames.Count != 0)
         {
-            if (OperateSetting.Instance.m_ToolLibraryToolConfigs.Count != choseToolNames.Count)
+            if (OperateSetting.Instance.m_ToolKitToolConfigs.Count != choseToolNames.Count)
             {
                 if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject())
                 {
@@ -319,7 +319,7 @@ public class OpTrigger_ToolPack : OperationData_TriggerMode
 
             foreach (var toolName in choseToolNames)
             {
-                ToolConfig tmpToolConfig = OperateSetting.Instance.m_ToolLibraryToolConfigs.Find(tool => tool.toolName == toolName);
+                ToolConfig tmpToolConfig = OperateSetting.Instance.m_ToolKitToolConfigs.Find(tool => tool.toolName == toolName);
 
                 if (tmpToolConfig == null)
                 {
@@ -331,7 +331,7 @@ public class OpTrigger_ToolPack : OperationData_TriggerMode
                 }
             }
         }
-        else if (choseToolNames.Count == 0 && OperateSetting.Instance.m_ToolLibraryToolConfigs.Count != 0)
+        else if (choseToolNames.Count == 0 && OperateSetting.Instance.m_ToolKitToolConfigs.Count != 0)
         {
             if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject())
             {
@@ -374,14 +374,14 @@ public class OpTrigger_ToolPack : OperationData_TriggerMode
     {
         if (!useTool) return true;
 
-        if (OperateSetting.Instance.m_ToolLibraryToolConfigs.Count != choseToolNames.Count)
+        if (OperateSetting.Instance.m_ToolKitToolConfigs.Count != choseToolNames.Count)
         {
             return false;
         }
 
         foreach (var toolName in choseToolNames)
         {
-            ToolConfig tmpToolConfig = OperateSetting.Instance.m_ToolLibraryToolConfigs.Find(tool => tool.toolName == toolName);
+            ToolConfig tmpToolConfig = OperateSetting.Instance.m_ToolKitToolConfigs.Find(tool => tool.toolName == toolName);
 
             if (tmpToolConfig == null)
             {

+ 3 - 2
OperationUIFrame/OperationUIFrameV2/Scripts/UI/PC_OperatePanel.cs

@@ -115,6 +115,7 @@ namespace QFramework
                     OperateStep.HelpBtn.gameObject.SetActive(false);
                     OperateStep.AutoPlayBtn.gameObject.SetActive(true);
                     OperateStep.ToolLibraryBtn.gameObject.SetActive(false);
+                    OperateStep.ToolBackPackBtn.gameObject.SetActive(false);
                     OperateStep.EndExam.gameObject.SetActive(false);
                     //操作记录
                     OperateStep.OperateLogBtn.gameObject.SetActive(false);
@@ -131,6 +132,7 @@ namespace QFramework
                     OperateStep.HelpBtn.gameObject.SetActive(true);
                     OperateStep.AutoPlayBtn.gameObject.SetActive(false);
                     OperateStep.ToolLibraryBtn.gameObject.SetActive(true);
+                    OperateStep.ToolBackPackBtn.gameObject.SetActive(true);
                     OperateStep.EndExam.gameObject.SetActive(false);
                     break;
                 case OperationMode.Exam:
@@ -139,6 +141,7 @@ namespace QFramework
                     OperateStep.HelpBtn.gameObject.SetActive(false);
                     OperateStep.AutoPlayBtn.gameObject.SetActive(false);
                     OperateStep.ToolLibraryBtn.gameObject.SetActive(true);
+                    OperateStep.ToolBackPackBtn.gameObject.SetActive(true);
                     OperateStep.EndExam.gameObject.SetActive(true);
                     OperateStep.SubtitleBg.gameObject.SetActive(false);
                     break;
@@ -153,8 +156,6 @@ namespace QFramework
 
             OperateStep.gameObject.SetActive(true);
 
-            //OperateStep.SetTitle(operateName);
-
             OperateStep.GenerateFirstStepItemList(tmpDicStepMsgInfos);
 
             if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.Learn)

+ 0 - 1
OperationUIFrame/OperationUIFrameV2/Scripts/UI/PC_OperatePanel/OperateStep.cs

@@ -144,7 +144,6 @@ namespace QFramework
             {
                 UIKit.ShowPanel<ToolLibraryForm>();
             }
-
         }
 
         /// <summary>

+ 64 - 38
OperationUIFrame/OperationUIFrameV2/Scripts/UI/ToolLibraryForm.cs

@@ -8,9 +8,13 @@ namespace QFramework
 {
     public enum  ToolLibraryType
     {
-        //묏야쇌
+        /// <summary>
+        /// 묏야쇌
+        /// </summary>
         ToolRoom,
-        //묏야관
+        /// <summary>
+        /// 묏야관
+        /// </summary>
         ToolKit
     }
 
@@ -20,37 +24,38 @@ namespace QFramework
         /// 역폘돨묏야욋잚謹
         /// </summary>
         public ToolLibraryType toolLibraryType = ToolLibraryType.ToolRoom;
-
     }
     public partial class ToolLibraryForm : UIPanel
     {
-        public List<int> m_CurrentSelectToolIDs = new List<int>();
-
         public List<Sprite> m_Sprites = new List<Sprite>();
 
-        public ToolLibraryType m_CurrentToolLibraryType;
+        public ToolConfigProxy m_ToolConfigProxy;
 
         protected override void OnInit(IUIData uiData = null)
         {
             mData = uiData as ToolLibraryFormData ?? new ToolLibraryFormData();
 
+            m_ToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
+
             CloseBtn.onClick.AddListener(OnCloseBtnClick);
 
             ToolLibrarySelectElement.InitData();
+
             ToolLibrarySelectElement.TitleText.text = ScriptLocalization.tooltype.all;
 
-            m_CurrentToolLibraryType = mData.toolLibraryType;
+            m_ToolConfigProxy.m_CurrentToolLibraryType = mData.toolLibraryType;
         }
 
         protected override void OnOpen(IUIData uiData = null)
         {
             mData = uiData as ToolLibraryFormData ?? new ToolLibraryFormData();
 
-            m_CurrentToolLibraryType = mData.toolLibraryType;
-
-            switch (m_CurrentToolLibraryType)
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
                 case ToolLibraryType.ToolRoom:
+
+                    m_ToolConfigProxy.m_TmpToolRoomConfigInfos = m_ToolConfigProxy.GetAllToolConfigInfoFromCTRSTCIs();
+
                     ToolLibrarySelectElement.OpenToolRoomUI();
                     break;
                 case ToolLibraryType.ToolKit:
@@ -60,7 +65,6 @@ namespace QFramework
                     break;
             }
 
-            
             ToolTypeElement.RefrushTypeBtn();
             transform.transform.SetAsLastSibling();
         }
@@ -113,18 +117,32 @@ namespace QFramework
         /// </summary>
         public void OnCloseBtnClick()
         {
-            ToolConfigProxy tmpProxy = DAL.Instance.Get<ToolConfigProxy>();
-            m_CurrentSelectToolIDs.Clear();
-
-            foreach (var item in tmpProxy.GetAllToolConfigInfos())
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
-                foreach (var selectTool in OperateSetting.Instance.m_ToolLibraryToolConfigs)
-                {
-                    if (selectTool.toolName == item.toolName)
+                case ToolLibraryType.ToolRoom:
+
+
+                    break;
+                case ToolLibraryType.ToolKit:
+
+                    m_ToolConfigProxy.ClearToolConfigInfoToCTKSTCIs();
+
+                    foreach (var item in m_ToolConfigProxy.GetAllToolConfigInfos())
                     {
-                        m_CurrentSelectToolIDs.Add(int.Parse(item.id));
+                        foreach (var selectTool in OperateSetting.Instance.m_ToolKitToolConfigs)
+                        {
+                            if (selectTool.toolName == item.toolName)
+                            {
+                                ToolConfigInfo tmpToolConfigInfo = m_ToolConfigProxy.GetTooConfigInfoByToolName(item.toolName);
+
+                                m_ToolConfigProxy.AddToolConfigInfoToCTKSTCIs(tmpToolConfigInfo);
+                            }
+                        }
                     }
-                }
+
+                    break;
+                default:
+                    break;
             }
 
             UIKit.ClosePanel<ToolLibraryForm>();
@@ -135,44 +153,52 @@ namespace QFramework
         /// </summary>
         public void OnConfirmBtnClick()
         {
-            ToolConfigProxy tmpProxy = DAL.Instance.Get<ToolConfigProxy>();
-
-            //묏야쇌
-            if (mData.toolLibraryType == ToolLibraryType.ToolRoom)
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
-                tmpProxy.SetCurrrentToolKitToolConfigInfo(m_CurrentSelectToolIDs);
+                case ToolLibraryType.ToolRoom:
+
+                    m_ToolConfigProxy.SetCurrrentToolRoomToolConfigInfos(m_ToolConfigProxy.m_TmpToolRoomConfigInfos);
+
+                    UIKit.ClosePanel<ToolLibraryForm>();
+
+                    break;
+                case ToolLibraryType.ToolKit:
+
+                    break;
+                default:
+                    break;
 
-                UIKit.ClosePanel<ToolLibraryForm>();
             }
-            else //묏야관
-            {
-                List<ToolConfig> tmpToolConfigs = new List<ToolConfig>();
 
-                foreach (var item in m_CurrentSelectToolIDs)
+            List<ToolConfig> tmpToolConfigs = new List<ToolConfig>();
+
+            foreach (var item in m_ToolConfigProxy.GetAllToolConfigInfoFromCTKSTCIs())
+            {
+                if (m_ToolConfigProxy.GetToolConfigInfoFromCTRSTCIsById(int.Parse(item.id)) != null)
                 {
                     ToolConfig tmpToolConfig = new ToolConfig();
 
-                    ToolConfigInfo toolConfigInfo = tmpProxy.GetTooConfigInfoById(item);
+                    ToolConfigInfo toolConfigInfo = m_ToolConfigProxy.GetTooConfigInfoById(int.Parse(item.id));
 
                     tmpToolConfig.toolName = toolConfigInfo.toolName;
-                    tmpToolConfig.toolImg = tmpProxy.GetSpriteByToolName(tmpToolConfig.toolName);
+                    tmpToolConfig.toolImg = m_ToolConfigProxy.GetSpriteByToolName(tmpToolConfig.toolName);
                     tmpToolConfig.en_toolName = toolConfigInfo.en_toolName;
                     tmpToolConfig.en_toolType = toolConfigInfo.en_toolType;
                     tmpToolConfig.en_toolDescription = toolConfigInfo.en_toolDescription;
                     tmpToolConfigs.Add(tmpToolConfig);
                 }
+            }
 
-                OperateSetting.Instance.m_ToolLibraryToolConfigs = tmpToolConfigs;
+            OperateSetting.Instance.m_ToolKitToolConfigs = tmpToolConfigs;
 
-                UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = tmpToolConfigs });
-                UIKit.ClosePanel<ToolLibraryForm>();
-            }
+            UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = tmpToolConfigs });
+            UIKit.ClosePanel<ToolLibraryForm>();
         }
 
         public void RefrushAllChoseTool()
         {
-            m_CurrentSelectToolIDs.Clear();
-            OperateSetting.Instance.m_ToolLibraryToolConfigs.Clear();
+            m_ToolConfigProxy.ClearToolConfigInfoToCTKSTCIs();
+            OperateSetting.Instance.m_ToolKitToolConfigs.Clear();
             UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = null });
         }
     }

+ 16 - 10
OperationUIFrame/OperationUIFrameV2/Scripts/UI/ToolLibraryForm/ToolLibrarySelectElement.cs

@@ -18,6 +18,8 @@ namespace QFramework
 
         List<ToolConfigInfo> m_NeedHightToolConfigInfos;
 
+        ToolConfigProxy m_ToolConfigProxy;
+
         /// <summary>
         /// µ±Ç°µÄÒ³Êý
         /// </summary>
@@ -46,6 +48,8 @@ namespace QFramework
             ClearBtn.onClick.AddListener(OnClearBtnClick);
 
             ConfirmBtn.onClick.AddListener(OnConfirmBtnClick);
+
+            m_ToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
         }
 
         /// <summary>
@@ -56,7 +60,11 @@ namespace QFramework
             if (!OperateSetting.Instance.ToolPackUILogic.GetHint()) return;
 
             ShowHighter();
-            ShowTargetPage(1);
+
+            if (m_ToolConfigProxy.GetAllToolConfigInfoFromCTKSTCIs().Count != 0)
+            {
+                ShowTargetPage(1);
+            }
         }
 
         /// <summary>
@@ -79,13 +87,12 @@ namespace QFramework
         public void ShowHighter()
         {
             ToolLibraryForm tmpLibraryForm = UIKit.GetPanel<ToolLibraryForm>();
-            ToolConfigProxy tmpProxy = DAL.Instance.Get<ToolConfigProxy>();
 
             m_NeedHightToolConfigInfos = new List<ToolConfigInfo>();
 
             foreach (var item in OperateSetting.Instance.m_CurrentStepRightToolNames)
             {
-                ToolConfigInfo tmpInfo = tmpProxy.GetTooConfigInfoByToolName(item);
+                ToolConfigInfo tmpInfo = m_ToolConfigProxy.GetTooConfigInfoByToolName(item);
 
                 ToolConfigInfo tmpToolConfigInfo = m_ToolConfigInfos.Find(t => t.id == tmpInfo.id);
                 m_ToolConfigInfos.Remove(tmpToolConfigInfo);
@@ -100,22 +107,21 @@ namespace QFramework
         /// </summary>
         public void InitData()
         {
-            ToolConfigProxy tmpToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
+            m_ToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
 
             for (int i = 0; i < 18; i++)
             {
                 GameObject tmpObj = Instantiate(ToolItemPrefab.gameObject, Content);
-
                 toolItemPrefabs.Add(tmpObj.GetComponent<ToolItemPrefab>());
             }
 
-            switch (UIKit.GetPanel<ToolLibraryForm>().m_CurrentToolLibraryType)
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
                 case ToolLibraryType.ToolRoom:
-                    SetData(tmpToolConfigProxy.GetAllToolConfigInfos());
+                    SetData(m_ToolConfigProxy.m_TmpToolRoomConfigInfos);
                     break;
                 case ToolLibraryType.ToolKit:
-                    SetData(tmpToolConfigProxy.m_CurrentToolKitConfigInfos);
+                    SetData(m_ToolConfigProxy.GetAllToolConfigInfoFromCTRSTCIs());
                     break;
                 default:
                     break;
@@ -184,7 +190,7 @@ namespace QFramework
         {
             ToolConfigProxy toolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
 
-            switch (UIKit.GetPanel<ToolLibraryForm>().m_CurrentToolLibraryType)
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
                 case ToolLibraryType.ToolRoom:
 
@@ -273,7 +279,7 @@ namespace QFramework
 
         public void OnClearBtnClick()
         {
-            UIKit.GetPanel<ToolLibraryForm>().m_CurrentSelectToolIDs.Clear();
+            DAL.Instance.Get<ToolConfigProxy>().ClearToolConfigInfoToCTKSTCIs();
 
             ShowTargetPage(m_CurrentPage);
         }

+ 95 - 37
OperationUIFrame/OperationUIFrameV2/Scripts/UI/ToolLibraryForm/ToolLibrarySelectElement/ToolItemPrefab.cs

@@ -26,33 +26,37 @@ namespace QFramework
 
         public ToolConfigInfo m_ToolConfigInfo;
 
-        private UnityEngine.Coroutine m_Coroutine;
-
         private BtnState m_CurrentBtnState;
 
+        private ToolConfigProxy m_ToolConfigProxy;
+
         private void Start()
         {
             GetComponent<Button>().onClick.AddListener(OnToolButtonClick);
         }
 
-        private IObservable<BaseEventData> OnSelect()
-        {
-            throw new NotImplementedException();
-        }
-
         public void SetData(ToolConfigInfo toolConfigInfo)
         {
             m_ToolConfigInfo = toolConfigInfo;
 
-            ToolLibraryForm toolLibraryForm = UIKit.GetPanel<ToolLibraryForm>();
+            m_ToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
 
-            if (toolLibraryForm.m_CurrentSelectToolIDs.Contains(int.Parse(m_ToolConfigInfo.id)))
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
-                SetButtonState(BtnState.select);
-            }
-            else
-            {
-                SetButtonState(BtnState.normal);
+                case ToolLibraryType.ToolRoom:
+
+                    if (m_ToolConfigProxy.GetToolConfigInfoFromCTRSTCIsById(int.Parse(toolConfigInfo.id)) != null) SetButtonState(BtnState.select);
+                    else SetButtonState(BtnState.normal);
+
+                    break;
+                case ToolLibraryType.ToolKit:
+
+                    if (m_ToolConfigProxy.GetToolConfigInfoFromCTKSTCIsById(int.Parse(toolConfigInfo.id))!= null) SetButtonState(BtnState.select);
+                    else SetButtonState(BtnState.normal);
+
+                    break;
+                default:
+                    break;
             }
 
             SetToolIcon();
@@ -66,10 +70,28 @@ namespace QFramework
             #endregion
 
 
-            //如果已经选择
-            if (toolLibraryForm.m_CurrentSelectToolIDs.Contains(int.Parse(m_ToolConfigInfo.id)))
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
-                SetButtonState(BtnState.select);
+                case ToolLibraryType.ToolRoom:
+
+                    //如果已经选择
+                    if (m_ToolConfigProxy.GetToolConfigInfoFromCTRSTCIsById(int.Parse(m_ToolConfigInfo.id)) != null)
+                    {
+                        SetButtonState(BtnState.select);
+                    }
+
+                    break;
+                case ToolLibraryType.ToolKit:
+
+                    //如果已经选择
+                    if (m_ToolConfigProxy.GetToolConfigInfoFromCTKSTCIsById(int.Parse(m_ToolConfigInfo.id)) != null)
+                    {
+                        SetButtonState(BtnState.select);
+                    }
+
+                    break;
+                default:
+                    break;
             }
 
             //如果打开提示
@@ -91,31 +113,69 @@ namespace QFramework
 
             toolLibraryForm?.ToolMessageElement.ShowToolInfo(m_ToolConfigInfo);
 
-            if (toolLibraryForm.m_CurrentSelectToolIDs.Contains(int.Parse(m_ToolConfigInfo.id)))
+            switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
             {
-                toolLibraryForm.m_CurrentSelectToolIDs.Remove(int.Parse(m_ToolConfigInfo.id));
+                case ToolLibraryType.ToolRoom:
 
-                SetButtonState(BtnState.normal);
+                    if (m_ToolConfigProxy.GetToolConfigInfoFromCTRSTCIsById(int.Parse(m_ToolConfigInfo.id)) != null)
+                    {
+                        if (GetIsNeedHighter())
+                        {
+                            ShowHighter(true);
+                        }
 
-                if (OperateSetting.Instance.ToolPackUILogic.GetHint())
-                {
-                    if (GetIsNeedHighter())
+                        m_ToolConfigProxy.RemoveToolConfigInfoFromCTRSTCIsById(int.Parse(m_ToolConfigInfo.id));
+                        SetButtonState(BtnState.normal);
+                    }
+                    else
                     {
-                        ShowHighter(true);
+                        ToolConfigInfo tmpToolConfigInfo = m_ToolConfigProxy.GetTooConfigInfoById(int.Parse(m_ToolConfigInfo.id));
+                        m_ToolConfigProxy.AddToolConfigInfoToCTRSTCIs(tmpToolConfigInfo);
+                        SetButtonState(BtnState.select);
                     }
-                }
-            }
-            else
-            {
-                toolLibraryForm.m_CurrentSelectToolIDs.Add(int.Parse(m_ToolConfigInfo.id));
 
-                if (OperateSetting.Instance.ToolPackUILogic.GetHint())
-                {
-                    ShowHighter(false);
-                }
+                    break;
+                case ToolLibraryType.ToolKit:
+
+                    if (m_ToolConfigProxy.GetToolConfigInfoFromCTKSTCIsById(int.Parse(m_ToolConfigInfo.id)) != null)
+                    {
+                        m_ToolConfigProxy.RemoveToolConfigInfoFromCTKSTCIsById(int.Parse(m_ToolConfigInfo.id));
+                        SetButtonState(BtnState.normal);
+                    }
+                    else
+                    {
+                        ToolConfigInfo tmpToolConfigInfo = m_ToolConfigProxy.GetTooConfigInfoById(int.Parse(m_ToolConfigInfo.id));
+                        m_ToolConfigProxy.AddToolConfigInfoToCTKSTCIs(tmpToolConfigInfo);
+                        SetButtonState(BtnState.select);
+                    }
 
-                SetButtonState(BtnState.select);
+                    break;
+                default:
+                    break;
             }
+
+            //if (m_ToolConfigProxy.GetToolConfigInfoFromCTKSTCIsById(int.Parse(m_ToolConfigInfo.id)) != null)
+            //{
+            //    if (OperateSetting.Instance.ToolPackUILogic.GetHint())
+            //    {
+            //        if (GetIsNeedHighter())
+            //        {
+            //            ShowHighter(true);
+            //        }
+            //    }
+            //}
+            //else
+            //{
+
+            //    m_ToolConfigProxy.AddToolConfigInfoToCTKSTCIs(m_ToolConfigProxy.GetToolConfigInfoFromCTKSTCIsById(int.Parse(m_ToolConfigInfo.id)));
+
+            //    if (OperateSetting.Instance.ToolPackUILogic.GetHint())
+            //    {
+            //        ShowHighter(false);
+            //    }
+
+            //    SetButtonState(BtnState.select);
+            //}
         }
 
         public void SetShowToolInfo()
@@ -130,9 +190,7 @@ namespace QFramework
         /// </summary>
         private void SetToolIcon()
         {
-            ToolConfigProxy toolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
-
-            ToolIcon.sprite = toolConfigProxy.GetSpriteByToolName(m_ToolConfigInfo.toolName);
+            ToolIcon.sprite = m_ToolConfigProxy.GetSpriteByToolName(m_ToolConfigInfo.toolName);
         }
 
         public void OnPointEnter()

+ 1 - 1
OperationUIFrame/OperationUIFrameV2/Scripts/UI/ToolLibraryForm/ToolTypeElement.cs

@@ -98,7 +98,7 @@ namespace QFramework
 
             List<ToolConfigInfo> tmpToolConfigInfos = new List<ToolConfigInfo>();
 
-            switch (UIKit.GetPanel<ToolLibraryForm>().m_CurrentToolLibraryType)
+            switch (tmpToolConfigProxy.m_CurrentToolLibraryType)
             {
                 case ToolLibraryType.ToolRoom: