private void DrawSkillArtList(float width) { GUILayout.BeginVertical("Box"); EditorGUILayout.LabelField("SkillArtEffect List"); LoadFbx(); LoadEffect(); // 设置保存文件名字 List <SkillUnit.SkillArt> skillart = EditorDataContainer.allSkillUnits.arts; artScrollPos = EditorGUILayout.BeginScrollView(artScrollPos); //列表 if (artList == null) { // 加入数据数组 artList = new ReorderableList(skillart, typeof(SkillUnit.SkillArt), false, false, true, true); } // 绘制Item显示列表 artList.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { SkillUnit.SkillArt element = skillart[index]; Rect drawRect = new Rect(rect.x, rect.y + 20, width - 30, 1200); GUILayout.BeginArea(drawRect); EditorGUILayout.TextField("Id:" + element.id, EditorDataContainer.GetSkillStringById(element.id)); EditorGUILayout.FloatField("guideFadeTime:", element.guideFadeTime); EditorGUILayout.TextField("guideAction:", element.guideAction); EditorGUILayout.TextField("guidingAction:", element.guidingAction); EditorGUILayout.TextField("endAction:", element.endAction); for (int i = 0; i < element.beginEffect.Count; i++) { if (element.beginEffect[i] != null) { EditorGUILayout.LabelField("beginEffect:" + i); EditorDrawUtility.DrawSkillArtEffect(DataConvert.ConvertSkillArtEffect(element.beginEffect[i]), null, null); } } if (element.unitEffect != null) { EditorGUILayout.LabelField("unitEffect:"); EditorDrawUtility.DrawSkillArtEffect(DataConvert.ConvertSkillArtEffect(element.unitEffect), null, null); } if (element.tipEffect != null) { EditorGUILayout.LabelField("tipEffect:"); EditorDrawUtility.DrawSkillArtEffect(DataConvert.ConvertSkillArtEffect(element.tipEffect), null, null); } if (element.hitEffect != null) { EditorGUILayout.LabelField("hitEffect:"); EditorDrawUtility.DrawSkillArtEffect(DataConvert.ConvertSkillArtEffect(element.hitEffect), null, null); } if (element.beginCameraAction != null) { EditorGUILayout.LabelField("beginCameraAction:"); EditorDrawUtility.DrawCameraAction(DataConvert.ConvertCameraAction(element.beginCameraAction)); } if (element.moveCameraAction != null) { EditorGUILayout.LabelField("moveCameraAction:"); EditorDrawUtility.DrawCameraAction(DataConvert.ConvertCameraAction(element.moveCameraAction)); } if (element.hitCameraAction != null) { EditorGUILayout.LabelField("hitCameraAction:"); EditorDrawUtility.DrawCameraAction(DataConvert.ConvertCameraAction(element.hitCameraAction)); } GUILayout.EndArea(); EditorGUILayout.Separator(); artList.elementHeight = 1200;// 190 + element.beginEffect.Count * 80; }; // 绘制表头 artList.drawHeaderCallback = (Rect rect) => { EditorGUI.LabelField(rect, "SkillArtList"); }; // 选择回调 artList.onSelectCallback = (ReorderableList l) => { SelectSkillArt = l.index; }; artList.DoLayoutList(); EditorGUILayout.EndScrollView(); EditorGUILayout.EndVertical(); }