| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- using UnityEngine;
- using UnityEngine.UI;
- using QFramework;
- using System.Collections.Generic;
- using I2.Loc;
- using System;
- namespace QFramework
- {
- public enum ToolLibraryType
- {
- /// <summary>
- /// 工具间
- /// </summary>
- ToolRoom,
- /// <summary>
- /// 工具包
- /// </summary>
- ToolKit
- }
- public class ToolLibraryFormData : UIPanelData
- {
- /// <summary>
- /// 开启的工具库类型
- /// </summary>
- public ToolLibraryType toolLibraryType = ToolLibraryType.ToolRoom;
- /// <summary>
- /// 正常情况下不用使用该回调,这是为ToolLibrarySelectElement单加的模式
- /// </summary>
- public Action selectAction;
- /// <summary>
- /// 这是为ToolLibrarySelectElement单加的模式
- /// </summary>
- public List<string> rightTools = new List<string>();
- }
- public partial class ToolLibraryForm : UIPanel
- {
- public List<Sprite> m_Sprites = new List<Sprite>();
- public ToolConfigProxy m_ToolConfigProxy;
- //工具间中用到
- public List<string> rightToolsForToolRoom = new List<string>();
- 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_ToolConfigProxy.m_CurrentToolLibraryType = mData.toolLibraryType;
- CloseBtn.gameObject.SetActive(mData.selectAction == null);
- rightToolsForToolRoom = mData.rightTools;
- }
- protected override void OnOpen(IUIData uiData = null)
- {
- mData = uiData as ToolLibraryFormData ?? new ToolLibraryFormData();
- switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
- {
- case ToolLibraryType.ToolRoom:
- m_ToolConfigProxy.m_TmpToolRoomConfigInfos = m_ToolConfigProxy.GetAllToolConfigInfoFromCTRSTCIs();
- ToolLibrarySelectElement.OpenToolRoomUI();
- break;
- case ToolLibraryType.ToolKit:
- ToolLibrarySelectElement.OpenToolKitUI();
- break;
- default:
- break;
- }
- ToolTypeElement.RefrushTypeBtn();
- transform.transform.SetAsLastSibling();
- }
- protected override void OnShow()
- {
- //工具包
- if (mData.toolLibraryType == ToolLibraryType.ToolKit)
- {
- }
- else if (mData.toolLibraryType == ToolLibraryType.ToolRoom)
- {
- ToolLibrarySelectElement.ShowUI();
- //刷新工具列表为全部
- ToolTypeElement.RefrushTypeBtn();
- transform.transform.SetAsLastSibling();
- }
- }
- protected override void OnHide()
- {
- }
- protected override void OnClose()
- {
- }
- void Update()
- {
- if (Input.GetKeyDown(KeyCode.Escape))
- {
- OnCloseBtnClick();
- }
- if (Input.GetKeyDown(KeyCode.Return))
- {
- Debug.Log("ClickEnter");
- OnConfirmBtnClick();
- }
- if (Input.GetKeyDown(KeyCode.Delete))
- {
- ToolLibrarySelectElement.OnClearBtnClick();
- }
- }
- /// <summary>
- /// 关闭工具库
- /// </summary>
- public void OnCloseBtnClick()
- {
- switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
- {
- case ToolLibraryType.ToolRoom:
- break;
- case ToolLibraryType.ToolKit:
- m_ToolConfigProxy.ClearToolConfigInfoToCTKSTCIs();
- foreach (var item in m_ToolConfigProxy.GetAllToolConfigInfos())
- {
- 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>();
- }
- /// <summary>
- /// 确认提交所选工具
- /// </summary>
- public void OnConfirmBtnClick()
- {
- switch (m_ToolConfigProxy.m_CurrentToolLibraryType)
- {
- case ToolLibraryType.ToolRoom:
- m_ToolConfigProxy.SetCurrrentToolRoomToolConfigInfos(m_ToolConfigProxy.m_TmpToolRoomConfigInfos);
- break;
- case ToolLibraryType.ToolKit:
- break;
- default:
- break;
- }
- 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 = m_ToolConfigProxy.GetTooConfigInfoById(int.Parse(item.id));
- tmpToolConfig.toolName = toolConfigInfo.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_ToolKitToolConfigs = tmpToolConfigs;
- UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = tmpToolConfigs });
- if (mData.selectAction != null)
- {
- mData.selectAction?.Invoke();
- }
- else
- {
- UIKit.ClosePanel<ToolLibraryForm>();
- }
- }
- public static void RefrushAllChoseTool()
- {
- ToolConfigProxy tmpToolConfigProxy = DAL.Instance.Get<ToolConfigProxy>();
- tmpToolConfigProxy.ClearToolConfigInfoToCTKSTCIs();
- OperateSetting.Instance.m_ToolKitToolConfigs.Clear();
- UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = null });
- }
- }
- }
|