Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / editorDungeonGroup / EditorDungeonGroupPanel.cs
@小李xl 小李xl on 21 Jan 2024 1 KB 创建地牢组时选择TileSet
  1. using Godot;
  2.  
  3. namespace UI.EditorDungeonGroup;
  4.  
  5. public partial class EditorDungeonGroupPanel : EditorDungeonGroup
  6. {
  7.  
  8. public override void OnCreateUi()
  9. {
  10. var optionButton = S_TileSetOption.Instance;
  11. foreach (var keyValuePair in GameApplication.Instance.TileSetConfig)
  12. {
  13. optionButton.AddItem(keyValuePair.Key);
  14. }
  15.  
  16. optionButton.Selected = 0;
  17. }
  18.  
  19. public override void OnDestroyUi()
  20. {
  21. }
  22.  
  23. /// <summary>
  24. /// 初始化数据
  25. /// </summary>
  26. public void InitData(DungeonRoomGroup dungeonRoomGroup)
  27. {
  28. S_NameInput.Instance.Text = dungeonRoomGroup.GroupName;
  29. var optionButton = S_TileSetOption.Instance;
  30. var count = optionButton.ItemCount;
  31. for (int i = 0; i < count; i++)
  32. {
  33. if (optionButton.GetItemText(i) == dungeonRoomGroup.TileSet)
  34. {
  35. optionButton.Selected = i;
  36. break;
  37. }
  38. }
  39.  
  40. S_RemarkInput.Instance.Text = dungeonRoomGroup.Remark;
  41. }
  42. /// <summary>
  43. /// 获取数据
  44. /// </summary>
  45. public DungeonGroupData GetData()
  46. {
  47. var data = new DungeonGroupData(S_NameInput.Instance.Text, S_TileSetOption.Instance.Text, S_RemarkInput.Instance.Text);
  48. return data;
  49. }
  50.  
  51. /// <summary>
  52. /// 设置为编辑模式, 禁用部分属性
  53. /// </summary>
  54. public void SetEditMode()
  55. {
  56. S_NameInput.Instance.Editable = false;
  57. S_TileSetOption.Instance.Disabled = true;
  58. }
  59. }