ToolLibraryForm.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using QFramework;
  4. using System.Collections.Generic;
  5. using I2.Loc;
  6. namespace QFramework
  7. {
  8. public enum ToolLibraryType
  9. {
  10. //묏야쇌
  11. ToolRoom,
  12. //묏야관
  13. ToolKit
  14. }
  15. public class ToolLibraryFormData : UIPanelData
  16. {
  17. /// <summary>
  18. /// 역폘돨묏야욋잚謹
  19. /// </summary>
  20. public ToolLibraryType toolLibraryType = ToolLibraryType.ToolRoom;
  21. }
  22. public partial class ToolLibraryForm : UIPanel
  23. {
  24. public List<int> m_CurrentSelectToolIDs = new List<int>();
  25. public List<Sprite> m_Sprites = new List<Sprite>();
  26. public ToolLibraryType m_CurrentToolLibraryType;
  27. protected override void OnInit(IUIData uiData = null)
  28. {
  29. mData = uiData as ToolLibraryFormData ?? new ToolLibraryFormData();
  30. CloseBtn.onClick.AddListener(OnCloseBtnClick);
  31. ToolLibrarySelectElement.InitData();
  32. ToolLibrarySelectElement.TitleText.text = ScriptLocalization.tooltype.all;
  33. m_CurrentToolLibraryType = mData.toolLibraryType;
  34. }
  35. protected override void OnOpen(IUIData uiData = null)
  36. {
  37. mData = uiData as ToolLibraryFormData ?? new ToolLibraryFormData();
  38. m_CurrentToolLibraryType = mData.toolLibraryType;
  39. switch (m_CurrentToolLibraryType)
  40. {
  41. case ToolLibraryType.ToolRoom:
  42. ToolLibrarySelectElement.OpenToolRoomUI();
  43. break;
  44. case ToolLibraryType.ToolKit:
  45. ToolLibrarySelectElement.OpenToolKitUI();
  46. break;
  47. default:
  48. break;
  49. }
  50. ToolTypeElement.RefrushTypeBtn();
  51. transform.transform.SetAsLastSibling();
  52. }
  53. protected override void OnShow()
  54. {
  55. //묏야관
  56. if (mData.toolLibraryType == ToolLibraryType.ToolKit)
  57. {
  58. }
  59. else if (mData.toolLibraryType == ToolLibraryType.ToolRoom)
  60. {
  61. ToolLibrarySelectElement.ShowUI();
  62. //岬劤묏야죗깊槨홍꼬
  63. ToolTypeElement.RefrushTypeBtn();
  64. transform.transform.SetAsLastSibling();
  65. }
  66. }
  67. protected override void OnHide()
  68. {
  69. }
  70. protected override void OnClose()
  71. {
  72. }
  73. void Update()
  74. {
  75. if (Input.GetKeyDown(KeyCode.Escape))
  76. {
  77. OnCloseBtnClick();
  78. }
  79. if (Input.GetKeyDown(KeyCode.Return))
  80. {
  81. Debug.Log("ClickEnter");
  82. OnConfirmBtnClick();
  83. }
  84. if (Input.GetKeyDown(KeyCode.Delete))
  85. {
  86. ToolLibrarySelectElement.OnClearBtnClick();
  87. }
  88. }
  89. /// <summary>
  90. /// 밑균묏야욋
  91. /// </summary>
  92. public void OnCloseBtnClick()
  93. {
  94. ToolConfigProxy tmpProxy = DAL.Instance.Get<ToolConfigProxy>();
  95. m_CurrentSelectToolIDs.Clear();
  96. foreach (var item in tmpProxy.GetAllToolConfigInfos())
  97. {
  98. foreach (var selectTool in OperateSetting.Instance.m_ToolLibraryToolConfigs)
  99. {
  100. if (selectTool.toolName == item.toolName)
  101. {
  102. m_CurrentSelectToolIDs.Add(int.Parse(item.id));
  103. }
  104. }
  105. }
  106. UIKit.ClosePanel<ToolLibraryForm>();
  107. }
  108. /// <summary>
  109. /// 횅훰瓊슥杰朞묏야
  110. /// </summary>
  111. public void OnConfirmBtnClick()
  112. {
  113. ToolConfigProxy tmpProxy = DAL.Instance.Get<ToolConfigProxy>();
  114. //묏야쇌
  115. if (mData.toolLibraryType == ToolLibraryType.ToolRoom)
  116. {
  117. tmpProxy.SetCurrrentToolKitToolConfigInfo(m_CurrentSelectToolIDs);
  118. UIKit.ClosePanel<ToolLibraryForm>();
  119. }
  120. else //묏야관
  121. {
  122. List<ToolConfig> tmpToolConfigs = new List<ToolConfig>();
  123. foreach (var item in m_CurrentSelectToolIDs)
  124. {
  125. ToolConfig tmpToolConfig = new ToolConfig();
  126. ToolConfigInfo toolConfigInfo = tmpProxy.GetTooConfigInfoById(item);
  127. tmpToolConfig.toolName = toolConfigInfo.toolName;
  128. tmpToolConfig.toolImg = tmpProxy.GetSpriteByToolName(tmpToolConfig.toolName);
  129. tmpToolConfig.en_toolName = toolConfigInfo.en_toolName;
  130. tmpToolConfig.en_toolType = toolConfigInfo.en_toolType;
  131. tmpToolConfig.en_toolDescription = toolConfigInfo.en_toolDescription;
  132. tmpToolConfigs.Add(tmpToolConfig);
  133. }
  134. OperateSetting.Instance.m_ToolLibraryToolConfigs = tmpToolConfigs;
  135. UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = tmpToolConfigs });
  136. UIKit.ClosePanel<ToolLibraryForm>();
  137. }
  138. }
  139. public void RefrushAllChoseTool()
  140. {
  141. m_CurrentSelectToolIDs.Clear();
  142. OperateSetting.Instance.m_ToolLibraryToolConfigs.Clear();
  143. UIKit.OpenPanel<ToolDisplayForm>(new ToolDisplayFormData() { m_ToolConfigs = null });
  144. }
  145. }
  146. }