private void DrawParts(Rect rect) { GUILayout.BeginArea(rect); { EditorGUILayout.BeginVertical(); { EGUILayout.DrawBoxHeader("Part Data", EGUIStyles.BoxedHeaderCenterStyle, GUILayout.ExpandWidth(true)); if (currentCreatorData != null && partOutputDataDrawer != null) { partOutputDataDrawer.OnGUILayout(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Create Parts")) { AvatarSkeletonPartCreatorData partOutputData = currentCreatorData.skeletonPartData; foreach (var data in partOutputData.partDatas) { if (!CreatePart(data)) { break; } } } } } EditorGUILayout.EndVertical(); } GUILayout.EndArea(); }
protected override void OnDrawProperty(string label) { if (drawerObject == null) { drawerObject = new DrawerObject(Property.Value); } if (Property.IsArrayElement) { AvatarPartCreatorData partCreatorData = (AvatarPartCreatorData)Property.Value; EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField(label, UnityEngine.GUILayout.Width(25)); EditorGUILayout.BeginVertical(); { drawerObject.OnGUILayout(); } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EGUI.BeginGUIBackgroundColor(Color.cyan); { if (GUILayout.Button("Create Part")) { CreatePartBtnClick?.Invoke(partCreatorData); } if (GUILayout.Button("Preview Part")) { PreviewPartBtnClick?.Invoke(partCreatorData); } } EGUI.EndGUIBackgroundColor(); } else { EditorGUILayout.LabelField(label); EditorGUI.indentLevel++; { drawerObject.OnGUILayout(); } EditorGUI.indentLevel--; } }
public void OnDrawProperty(Rect rect) { if (!string.IsNullOrEmpty(DetailName)) { EditorGUILayout.LabelField(DetailName, EditorStyles.wordWrappedLabel); } Type actionType = Data.GetType(); EditorGUILayout.LabelField(actionType.Name); dataDrawerObject.OnGUILayout(); }
private void DrawSkeleton(Rect rect) { GUILayout.BeginArea(rect); { EditorGUILayout.BeginVertical(); { EGUILayout.DrawBoxHeader("Skeleton Data", EGUIStyles.BoxedHeaderCenterStyle, GUILayout.ExpandWidth(true)); if (currentCreatorData != null && skeletonCreatorDataDrawer != null) { skeletonCreatorDataDrawer.OnGUILayout(); AvatarSkeletonCreatorData skeletonCreatorData = currentCreatorData.skeletonData; string targetPrefabPath = skeletonCreatorData.GetSkeletonPrefabPath(); GameObject targetPrefab = null; if (!string.IsNullOrEmpty(targetPrefabPath)) { targetPrefab = AssetDatabase.LoadAssetAtPath <GameObject>(targetPrefabPath); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.ObjectField("Output", targetPrefab, typeof(GameObject), false); EditorGUILayout.Space(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Create Skeleton")) { GameObject skeletonPrefab = AvatarCreatorUtil.CreateSkeleton(skeletonCreatorData); if (skeletonPrefab == null) { EditorUtility.DisplayDialog("Error", "Create Failed.\n Please view the details from the console!!!", "OK"); } else { SelectionUtility.PingObject(skeletonPrefab); } } if (GUILayout.Button("Preview Skeleton")) { PreviewSkeleton(); } } } EditorGUILayout.EndVertical(); } GUILayout.EndArea(); }
private void OnGUI() { drawerObj.OnGUILayout(); }