Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / manager / MapLayerManager.cs
  1.  
  2. using Godot;
  3.  
  4. public static class MapLayerManager
  5. {
  6. public static void InitMapLayer(TileMap tileMap)
  7. {
  8. //删除之前的层级
  9. var layersCount = tileMap.GetLayersCount();
  10. for (var i = layersCount - 1; i > 0; i--)
  11. {
  12. tileMap.RemoveLayer(layersCount);
  13. }
  14. tileMap.AddLayer(MapLayer.AutoFloorLayer);
  15. tileMap.SetLayerZIndex(MapLayer.AutoFloorLayer, -10);
  16. tileMap.SetLayerNavigationEnabled(MapLayer.AutoFloorLayer, false);
  17. tileMap.SetLayerName(MapLayer.AutoFloorLayer, nameof(MapLayer.AutoFloorLayer));
  18. tileMap.AddLayer(MapLayer.CustomFloorLayer1);
  19. tileMap.SetLayerZIndex(MapLayer.CustomFloorLayer1, -10);
  20. tileMap.SetLayerNavigationEnabled(MapLayer.CustomFloorLayer1, false);
  21. tileMap.SetLayerName(MapLayer.CustomFloorLayer1, nameof(MapLayer.CustomFloorLayer1));
  22. tileMap.AddLayer(MapLayer.CustomFloorLayer2);
  23. tileMap.SetLayerZIndex(MapLayer.CustomFloorLayer2, -10);
  24. tileMap.SetLayerNavigationEnabled(MapLayer.CustomFloorLayer2, false);
  25. tileMap.SetLayerName(MapLayer.CustomFloorLayer2, nameof(MapLayer.CustomFloorLayer2));
  26. tileMap.AddLayer(MapLayer.CustomFloorLayer3);
  27. tileMap.SetLayerZIndex(MapLayer.CustomFloorLayer3, -10);
  28. tileMap.SetLayerNavigationEnabled(MapLayer.CustomFloorLayer3, false);
  29. tileMap.SetLayerName(MapLayer.CustomFloorLayer3, nameof(MapLayer.CustomFloorLayer3));
  30. tileMap.AddLayer(MapLayer.AutoMiddleLayer);
  31. tileMap.SetLayerZIndex(MapLayer.AutoMiddleLayer, 2);
  32. tileMap.SetLayerNavigationEnabled(MapLayer.AutoMiddleLayer, false);
  33. tileMap.SetLayerYSortEnabled(MapLayer.AutoMiddleLayer, true);
  34. tileMap.SetLayerName(MapLayer.AutoMiddleLayer, nameof(MapLayer.AutoMiddleLayer));
  35. tileMap.AddLayer(MapLayer.CustomMiddleLayer1);
  36. tileMap.SetLayerZIndex(MapLayer.CustomMiddleLayer1, 2);
  37. tileMap.SetLayerNavigationEnabled(MapLayer.CustomMiddleLayer1, false);
  38. tileMap.SetLayerYSortEnabled(MapLayer.CustomMiddleLayer1, true);
  39. tileMap.SetLayerName(MapLayer.CustomMiddleLayer1, nameof(MapLayer.CustomMiddleLayer1));
  40. tileMap.AddLayer(MapLayer.CustomMiddleLayer2);
  41. tileMap.SetLayerZIndex(MapLayer.CustomMiddleLayer2, 2);
  42. tileMap.SetLayerNavigationEnabled(MapLayer.CustomMiddleLayer2, false);
  43. tileMap.SetLayerYSortEnabled(MapLayer.CustomMiddleLayer2, true);
  44. tileMap.SetLayerName(MapLayer.CustomMiddleLayer2, nameof(MapLayer.CustomMiddleLayer2));
  45. tileMap.AddLayer(MapLayer.AutoTopLayer);
  46. tileMap.SetLayerZIndex(MapLayer.AutoTopLayer, 10);
  47. tileMap.SetLayerNavigationEnabled(MapLayer.AutoTopLayer, false);
  48. tileMap.SetLayerName(MapLayer.AutoTopLayer, nameof(MapLayer.AutoTopLayer));
  49. tileMap.AddLayer(MapLayer.CustomTopLayer);
  50. tileMap.SetLayerZIndex(MapLayer.CustomTopLayer, 10);
  51. tileMap.SetLayerNavigationEnabled(MapLayer.CustomTopLayer, false);
  52. tileMap.SetLayerName(MapLayer.CustomTopLayer, nameof(MapLayer.CustomTopLayer));
  53. tileMap.AddLayer(MapLayer.AutoAisleFloorLayer);
  54. tileMap.SetLayerZIndex(MapLayer.AutoAisleFloorLayer, -10);
  55. tileMap.SetLayerNavigationEnabled(MapLayer.AutoAisleFloorLayer, false);
  56. tileMap.SetLayerName(MapLayer.AutoAisleFloorLayer, nameof(MapLayer.AutoAisleFloorLayer));
  57. }
  58. }