Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / GameConfig.cs
@小李xl 小李xl on 11 Jan 2024 3 KB 制作2x2地形,还有bug
  1.  
  2. using Godot;
  3.  
  4. public static class GameConfig
  5. {
  6. // --------------------- 可配置项 ---------------------
  7. /// <summary>
  8. /// 散射计算的默认距离
  9. /// </summary>
  10. public static float ScatteringDistance = 300;
  11. /// <summary>
  12. /// 重力加速度
  13. /// </summary>
  14. public static float G = 250f;
  15.  
  16. // ----------------------- 常量 -----------------------
  17. /// <summary>
  18. /// 连接房间的过道宽度
  19. /// </summary>
  20. public const int CorridorWidth = 4;
  21. /// <summary>
  22. /// 游戏地图网格大小, 值为 16
  23. /// </summary>
  24. public const int TileCellSize = 16;
  25. /// <summary>
  26. /// 游戏地图网格大小, 向量表示
  27. /// </summary>
  28. public static readonly Vector2I TileCellSizeVector2I = new Vector2I(TileCellSize, TileCellSize);
  29. /// <summary>
  30. /// 房间最小间距
  31. /// </summary>
  32. public const int RoomSpace = 4;
  33.  
  34. /// <summary>
  35. /// 地图配置路径
  36. /// </summary>
  37. public const string RoomTileDir = "resource/map/tileMaps/";
  38. /// <summary>
  39. /// 房间TileSet路径
  40. /// </summary>
  41. public const string RoomTileSetDir = "resource/map/tileSet/";
  42. /// <summary>
  43. /// 房间组配置文件名称
  44. /// </summary>
  45. public const string RoomGroupConfigFile = "GroupConfig.json";
  46. /// <summary>
  47. /// TileSet配置文件
  48. /// </summary>
  49. public const string TileSetConfigFile = "TileSetConfig.json";
  50. /// <summary>
  51. /// ui预制体路径
  52. /// </summary>
  53. public const string UiPrefabDir = "prefab/ui/";
  54. /// <summary>
  55. /// ui代码根路径
  56. /// </summary>
  57. public const string UiCodeDir = "src/game/ui/";
  58. /// <summary>
  59. /// TileMap 地板的层级
  60. /// </summary>
  61. public const int FloorMapLayer = 0;
  62. /// <summary>
  63. /// TileMap 中层的层级
  64. /// </summary>
  65. public const int MiddleMapLayer = 1;
  66. /// <summary>
  67. /// TileMap 上层的层级
  68. /// </summary>
  69. public const int TopMapLayer = 2;
  70. /// <summary>
  71. /// 连接房间的过道的地板层级
  72. /// </summary>
  73. public const int AisleFloorMapLayer = 3;
  74.  
  75. /// <summary>
  76. /// 配置层级的自定义数据名称
  77. /// </summary>
  78. public const string CustomTileLayerName = "TileLayer";
  79.  
  80. /// <summary>
  81. /// 预览图大小
  82. /// </summary>
  83. public const int PreviewImageSize = 196;
  84.  
  85. /// <summary>
  86. /// 变暗迷雾的透明度值
  87. /// </summary>
  88. public const float DarkFogAlpha = 0.2f;
  89.  
  90. /// <summary>
  91. /// 迷雾过渡时间
  92. /// </summary>
  93. public const float FogTransitionTime = 0.3f;
  94.  
  95. /// <summary>
  96. /// 导航网格代理收缩半径
  97. /// </summary>
  98. public const float NavigationAgentRadius = 6f;
  99.  
  100. /// <summary>
  101. /// 寻路导航单格步长
  102. /// </summary>
  103. public const float NavigationCellSize = 4;
  104. /// <summary>
  105. /// 地形掩码纹理大小, 顶部墙壁/47格地形
  106. /// </summary>
  107. public static readonly Vector2I TerrainBit3x3 = new Vector2I(12, 4);
  108. /// <summary>
  109. /// 地形掩码纹理大小, 13格地形
  110. /// </summary>
  111. public static readonly Vector2I TerrainBit2x2 = new Vector2I(5, 3);
  112. /// <summary>
  113. /// 地形掩码纹理大小, 侧方墙壁
  114. /// </summary>
  115. public static readonly Vector2I TerrainBitMiddle = new Vector2I(4, 1);
  116. /// <summary>
  117. /// 地形掩码纹理大小, 地板
  118. /// </summary>
  119. public static readonly Vector2I TerrainBitFloor = new Vector2I(1, 1);
  120. }