using UnityEngine; using UnityEngine.UI; using QFramework; using System.Collections.Generic; using I2.Loc; namespace QFramework { public class ToolLibraryFormData : UIPanelData { } public partial class ToolLibraryForm : UIPanel { public List m_CurrentSelectToolIDs = new List(); public List m_Sprites = new List(); protected override void OnInit(IUIData uiData = null) { mData = uiData as ToolLibraryFormData ?? new ToolLibraryFormData(); CloseBtn.onClick.AddListener(OnCloseBtnClick); ToolLibrarySelectElement.InitData(); ToolLibrarySelectElement.TitleText.text = ScriptLocalization.tooltype.all; } protected override void OnOpen(IUIData uiData = null) { ToolLibrarySelectElement.OpenUI(); ToolTypeElement.RefrushTypeBtn(); transform.transform.SetAsLastSibling(); } protected override void OnShow() { 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(); } } /// /// 关闭工具库 /// public void OnCloseBtnClick() { ToolConfigProxy tmpProxy = DAL.Instance.Get(); m_CurrentSelectToolIDs.Clear(); foreach (var item in tmpProxy.GetAllToolConfigInfos()) { foreach (var selectTool in OperateSetting.Instance.m_ToolLibraryToolConfigs) { if (selectTool.toolName == item.toolName) { m_CurrentSelectToolIDs.Add(int.Parse(item.id)); } } } UIKit.HidePanel(); } /// /// 确认提交所选工具 /// public void OnConfirmBtnClick() { List tmpToolConfigs = new List(); ToolConfigProxy tmpProxy = DAL.Instance.Get(); foreach (var item in m_CurrentSelectToolIDs) { ToolConfig tmpToolConfig = new ToolConfig(); ToolConfigInfo toolConfigInfo = tmpProxy.GetTooConfigInfoById(item); tmpToolConfig.toolName = toolConfigInfo.toolName; tmpToolConfig.toolImg = tmpProxy.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; UIKit.OpenPanel(new ToolDisplayFormData() { m_ToolConfigs = tmpToolConfigs }); UIKit.HidePanel(); } public void RefrushAllChoseTool() { m_CurrentSelectToolIDs.Clear(); OperateSetting.Instance.m_ToolLibraryToolConfigs.Clear(); UIKit.OpenPanel(new ToolDisplayFormData() { m_ToolConfigs = null }); } } }