/// <summary> /// Creates and returns a PosePreset based on humanoid muscle values /// </summary> public static PumkinsPosePreset CreatePreset(string poseName, float[] muscles) { PumkinsPosePreset pose = CreateInstance <PumkinsPosePreset>(); pose.SetupPreset(poseName, muscles); return(pose); }
/// <summary> /// Creates and returns a PosePreset based on humanoid muscle values /// </summary> public static PumkinsPosePreset CreatePreset(string poseName, HumanPose p) { PumkinsPosePreset pose = CreateInstance <PumkinsPosePreset>(); pose.SetupPreset(poseName, p); return(pose); }
/// <summary> /// Creates and returns a PosePreset based on transform rotations only /// </summary> public static PumkinsPosePreset CreatePreset(string poseName, GameObject avatar, PosePresetMode mode) { PumkinsPosePreset pose = CreateInstance <PumkinsPosePreset>(); pose.SetupPreset(poseName, avatar, mode); return(pose); }
public static void ShowWindow(PumkinsPosePreset newPreset = null) { AssignOrCreatePreset <PumkinsPosePreset>(newPreset); if (!_window || _window.GetType() != typeof(CreatePosePresetPopup)) { _window = CreateInstance <CreatePosePresetPopup>(); _window.autoRepaintOnSceneChange = true; if (minWindowSize.magnitude > Vector2.zero.magnitude) { float maxX = Mathf.Max(_window.minSize.x, minWindowSize.x); float maxY = Mathf.Max(_window.minSize.y, minWindowSize.y); _window.minSize = new Vector2(maxX, maxY); } } if (editingExistingPreset) { _window.titleContent = new GUIContent(Strings.Presets.editPosePreset); _overwriteFile = true; } else { _window.titleContent = new GUIContent(Strings.Presets.createPosePreset); } _window.ShowUtility(); }
private void OnDestroy() { if (editingExistingPreset) { PumkinsPosePreset preset = (PumkinsPosePreset)CreatePresetPopupBase.preset; if (!preset) { AssignOrCreatePreset <PumkinsPosePreset>(null); } preset.SetupPreset(preset.name, PumkinsAvatarTools.SelectedAvatar, preset.presetMode); } }
private void OnEnable() { preset = (PumkinsPosePreset)target; if (defaultMusclesNames == null || defaultMusclesNames.Length == 0) { defaultMusclesNames = HumanTrait.MuscleName; } serializedPosePreset = new SerializedObject(preset); pName = serializedPosePreset.FindProperty("name"); pMuscles = serializedPosePreset.FindProperty("muscles"); pPresetMode = serializedPosePreset.FindProperty("presetMode"); pTransformPaths = serializedPosePreset.FindProperty("transformPaths"); pTransformRotations = serializedPosePreset.FindProperty("transformRotations"); }
public static void ShowWindow(PumkinsPosePreset newPreset = null) { AssignOrCreatePreset <PumkinsPosePreset>(newPreset); if (!_window) { _window = CreateInstance <CreatePosePresetPopup>(); _window.autoRepaintOnSceneChange = true; } if (editingExistingPreset) { _window.titleContent = new GUIContent(Strings.Presets.editPosePreset); _overwriteFile = true; } else { _window.titleContent = new GUIContent(Strings.Presets.createPosePreset); } _window.ShowUtility(); }
private void OnGUI() { PumkinsPosePreset preset = (PumkinsPosePreset)CreatePresetPopupBase.preset; if (!preset) { AssignOrCreatePreset <PumkinsPosePreset>(null); return; } try { scroll = EditorGUILayout.BeginScrollView(scroll); { EditorGUILayout.Space(); preset.name = EditorGUILayout.TextField(Strings.Presets.presetName, preset.name); Helpers.DrawGUILine(); PumkinsAvatarTools.DrawAvatarSelectionWithButton(false, false); Helpers.DrawGUILine(); preset.presetMode = (PumkinsPosePreset.PosePresetMode)EditorGUILayout.EnumPopup(Strings.Presets.poseMode, preset.presetMode); Helpers.DrawGUILine(); if (GUILayout.Button(Strings.Buttons.openPoseEditor, Styles.BigButton)) { PumkinsMuscleEditor.ShowWindow(); } Helpers.DrawGUILine(); EditorGUI.BeginDisabledGroup(!PumkinsAvatarTools.SelectedAvatar || !preset || string.IsNullOrEmpty(preset.name)); { if (!editingExistingPreset) { _overwriteFile = GUILayout.Toggle(_overwriteFile, Strings.Presets.overwriteFile); if (GUILayout.Button(Strings.Buttons.savePreset, Styles.BigButton)) { preset.SetupPreset(preset.name, PumkinsAvatarTools.SelectedAvatar, preset.presetMode); if (preset) { EditorApplication.delayCall += () => { preset.SavePreset(_overwriteFile); Close(); }; } } } } EditorGUI.EndDisabledGroup(); } EditorGUILayout.EndScrollView(); CreatePresetPopupBase.preset = preset; } catch { if (this) { Close(); } } }