6-6 河流编辑器UI

  在之前的章节中,我们创建了添加、移除河流的相关方法,并对每个地图单元内的河流作出了防止逆流的检测。在这一章中,我们要创建地图编辑器UI中,与创建河流相关的功能UI。在现有UI基础上,我们添加一个河流选项卡,选项卡中有三种模式可选,分别是:关闭、添加、移除。这个选项卡的形式,与颜色选项卡类似,都使用Toggle组件即可。同时我们使用枚举来记录当前的选中状态。代码如下:

HexMapEditor.cs
1
2
3
4
5
6
7
8
9
10
11
12
public class HexMapEditor : MonoBehaviour
{


//河流编辑器的状态
private enum OptionalToggle
{
Ignore, Yes, No
}
//当前河流编辑器选中的状态
private OptionalToggle riverMode;
}

  接着,要创建一个方法以供UI中的选项卡按钮调用,来更改当前状态。代码如下:

HexMapEditor.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
public class HexMapEditor : MonoBehaviour
{


/// <summary>
/// 设置河流编辑器的状态
/// </summary>
/// <param name="mode">状态美剧索引值</param>
public void SetRiverMode(int mode)
{
riverMode = (OptionalToggle)mode;
}
}

  接最后我们需要一个新的Toggle Group组件来建立这三个Toggle组件的联系。并且这三个Toggle组件都挂载SetRiverMode方法。最终结果如下图:

  至此,我们就完成了河流编辑器UI部分的功能了。在下一章中,我们将检测鼠标左键按下时的拖拽信息,这些信息可以用来当做创建河流的起点和方向。

Github代码