6-4 添加河流
在上一章中,我们完成了移除地图单元内河流的方法。在这一章中,我们将创建在地图单元内添加河流的方法。要实现添加河流的功能,
要实现z唉地图单元内添加河流的功能,只需要一个方法设置地图单元内流出方向的河流。这个方法应该覆盖之前流出方向的河流,并设置相应的相邻地图单元的流入方向的河流。
首先,当要设置的方向已经存在河流时直接跳出。代码如下:
1 | /// <summary> |
然后得确保在流出方向上存在一个相邻的地图单元。并且河流不能向着更高的位置流动,所以检测到相邻地图单元高于当前地图单元时时跳出方法。代码如下:
1 | public void SetOutgoingRiver(HexDirection direction) |
接下来,清除之前流出方向不同的河流。并且当前地图单元中流入的河流方向,与新的流出的方向相同,那么还要移除当前地图单元中流入的河流。代码如下:
1 | public void SetOutgoingRiver(HexDirection direction) |
然后设置流出河流标记和方向,并刷新当前地图单元。代码如下:
1 | public void SetOutgoingRiver(HexDirection direction) |
最后,当相邻地图单元中已经有流入的河流时,移除它并设置新的流入河流。代码如下:
1 | public void SetOutgoingRiver(HexDirection direction) |
至此,我们就完成了在地图单元内创建河流的基本方法了。这些方法目前只是创建河流的基本思路,在之后的章节中,我们将逐步完善这些方法。在下一章中,我们将添加一些代码,来防止河流逆流的情况发生。