private void LoadConvexDatasFromBin(RecastBase recast) { this.ConvexDatas.Clear(); this.curSelectData = null; ConvexVolumeData[] datas = recast.GetVolumeDatas(); foreach (var volumeData in datas) { this.ConvexDatas.Add(new ConvexVolume().Parse(volumeData)); } }
private void OnConvexGUI() { this.isConvexFold = EditorGUILayout.Foldout(this.isConvexFold, "Convex Volumes"); if (this.isConvexFold) { if (!Application.isPlaying) { ShowNotification(new GUIContent("请播放,不播放时不能编辑多边形区域")); return; } for (int i = 0; i < this.ConvexDatas.Count; i++) { ConvexVolume convexData = this.ConvexDatas[i]; EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField($"{i + 1}: {convexData.AreaType}"); convexData.AreaType = (PolyAreas)EditorGUILayout.EnumPopup("", convexData.AreaType, GUILayout.MaxWidth(120)); if (GUILayout.Button("移除")) { if (this.curSelectData == convexData) { this.curSelectData = null; } this.ConvexDatas.RemoveAt(i); } } EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("添加区域")) { this.curSelectData = new ConvexVolume(); this.ConvexDatas.Add(this.curSelectData); } } }