5-4 清理代码
在上一章中,我们通过计算一个地图单元在数组中的下标,将其分配到对应的地图块中。不过现在项目中依然存在很多我们不需要的代码,在这一章中,我们将清理这些代码。
首先在HexGrid
中清除掉gridCanvas
和hexMesh
这两个对象,还有与其相关的代码。如下:
1 | public class HexGrid : MonoBehaviour |
因为我们删除了Refresh
方法,所以在HexMapEditor
中不能再调用它了。
1 | private void EditCell(HexCell cell) |
回到Unity中,因为我们删除了掉gridCanvas
和hexMesh
,所以在场景中我们不再需要Hex Grid Canvas
和Hex Mesh
这两个对象,删除后入下图所示:
清理完成后,运行游戏。我们发现Game窗口中地图生成并没有发生变化,但是Hierarchy窗口中的层级关系已经发生了变化。HexGrid
生成地图块,再由每个地图块的实例生成地图单元和其相对应的UI。如下图:
经过观察我们还发现一个问题,地图单元的坐标显示UI还存在一些问题:我们一开始设置的标签宽度是5,这足够显示两个字符。在较小的地图上刚好用完,但现在我们可以获取到“-10”这样有三个字符的坐标,这样一来字符无法相匹配并有断层。把UI的宽度增加到10或更多来解决这个问题。
现在我们终于可以创建一个比之前章节中尺寸更大的底图了!虽然生成地图需要花费比原来尺寸较小地图更长的时间,不过生化池呢个完成后,我们就拥有了一个尺寸跟大的地图。因为删除掉一些代码的原因,我们的地图编辑器功能不再起作用了,下一章中我们将解决这个问题。