Newer
Older
DungeonShooting / DungeonShooting_Godot / src / test / TestLoadTileSetConfig.cs
  1. using Godot;
  2. using System;
  3. using System.Linq;
  4. using System.Text.Json;
  5. using Godot.Collections;
  6.  
  7. public partial class TestLoadTileSetConfig : Node2D
  8. {
  9. private System.Collections.Generic.Dictionary<string, TileSetSplit> _tileSetConfig;
  10. private TileMap _tileMap;
  11. public override void _Ready()
  12. {
  13. InitTileSetConfig();
  14. _tileMap = GetNode<TileMap>("TileMap");
  15.  
  16. var tileSetSplit = _tileSetConfig["TileSet2"];
  17. var tileSet = tileSetSplit.GetTileSet();
  18. //ResourceSaver.Save(tileSet, "test_tileset.tres");
  19. _tileMap.TileSet = tileSet;
  20. _tileMap.SetCell(0, new Vector2I(5, 5), 1, new Vector2I(0, 0));
  21. _tileMap.SetCellsTerrainConnect(0, new Array<Vector2I>()
  22. {
  23. new Vector2I(10, 10),
  24. new Vector2I(10, 11),
  25. new Vector2I(10, 12),
  26. new Vector2I(11, 10),
  27. new Vector2I(11, 11),
  28. new Vector2I(11, 12),
  29. new Vector2I(12, 10),
  30. new Vector2I(12, 11),
  31. new Vector2I(13, 10),
  32. new Vector2I(13, 11),
  33. }, 2, 0, false);
  34. _tileMap.SetCellsTerrainConnect(0, new Array<Vector2I>()
  35. {
  36. new Vector2I(10 + 10, 10),
  37. new Vector2I(10 + 10, 11),
  38. new Vector2I(10 + 10, 12),
  39. new Vector2I(11 + 10, 10),
  40. new Vector2I(11 + 10, 11),
  41. new Vector2I(11 + 10, 12),
  42. new Vector2I(12 + 10, 10),
  43. new Vector2I(12 + 10, 11),
  44. new Vector2I(13 + 10, 10),
  45. new Vector2I(13 + 10, 11),
  46. }, 1, 0, false);
  47. }
  48. //初始化TileSet配置
  49. private void InitTileSetConfig()
  50. {
  51. //加载房间配置信息
  52. var asText = ResourceManager.LoadText("res://" + GameConfig.RoomTileSetDir + GameConfig.TileSetConfigFile);
  53. _tileSetConfig = JsonSerializer.Deserialize<System.Collections.Generic.Dictionary<string, TileSetSplit>>(asText);
  54. //加载所有数据
  55. foreach (var tileSetSplit in _tileSetConfig)
  56. {
  57. tileSetSplit.Value.ReloadTileSetInfo();
  58. }
  59. }
  60. }