// Init //------------------------------------------------------------------------ public void Init(FUNC_RETARGET_SINGLE_POSE_IMPORT_ANIM funcResult_Anim, FUNC_RETARGET_SINGLE_POSE_IMPORT_MOD funcResult_Mod, apEditor editor, object loadKey, apMeshGroup targetMeshGroup, apModifierBase targetModifier, apModifierParamSet targetParamSet, //<<일반 Modifier에서 작업하는 경우 apAnimClip targetAnimClip, apAnimTimeline targetAnimTimeline, int targetFrame) { _editor = editor; _loadKey = loadKey; _targetMeshGroup = targetMeshGroup; _funcResult_Anim = funcResult_Anim; _funcResult_Mod = funcResult_Mod; _targetModifier = targetModifier; _targetParamSet = targetParamSet; _targetAnimClip = targetAnimClip; _targetAnimTimeline = targetAnimTimeline; _targetFrame = targetFrame; //_imgIcon_Bone = _editor.ImageSet.Get(apImageSet.PRESET.Hierarchy_Bone); _category = CATEGORY.SameMeshGroup; _retarget.LoadSinglePoseFileList(editor); _selectedBonePoseFile = null; _isValidPose = false; _meshGroupUniqueID = _targetMeshGroup._uniqueID; _portraitName = _targetMeshGroup._parentPortrait.name; }
private static object ShowDialog(FUNC_RETARGET_SINGLE_POSE_IMPORT_ANIM funcResult_Anim, FUNC_RETARGET_SINGLE_POSE_IMPORT_MOD funcResult_Mod, apEditor editor, apMeshGroup targetMeshGroup, apModifierBase targetModifier, apModifierParamSet targetParamSet, //<<일반 Modifier에서 작업하는 경우 apAnimClip targetAnimClip, apAnimTimeline targetAnimTimeline, int targetFrame //<<애니메이션에서 Pose를 여는 경우 ) { CloseDialog(); if (editor == null || editor._portrait == null || editor._portrait._controller == null) { return(null); } EditorWindow curWindow = EditorWindow.GetWindow(typeof(apDialog_RetargetSinglePoseImport), true, "Import Pose", true); apDialog_RetargetSinglePoseImport curTool = curWindow as apDialog_RetargetSinglePoseImport; object loadKey = new object(); if (curTool != null && curTool != s_window) { int width = 500; int height = 700; s_window = curTool; s_window.position = new Rect((editor.position.xMin + editor.position.xMax) / 2 - (width / 2), (editor.position.yMin + editor.position.yMax) / 2 - (height / 2), width, height); s_window.Init(funcResult_Anim, funcResult_Mod, editor, loadKey, targetMeshGroup, targetModifier, targetParamSet, targetAnimClip, targetAnimTimeline, targetFrame); return(loadKey); } else { return(null); } }
// Show Window / Close Dialog //------------------------------------------------------------------------ public static object ShowDialog(FUNC_RETARGET_SINGLE_POSE_IMPORT_ANIM funcResult_Anim, apEditor editor, apMeshGroup targetMeshGroup, apAnimClip targetAnimClip, apAnimTimeline targetAnimTimeline, int targetFrame) { return(ShowDialog(funcResult_Anim, null, editor, targetMeshGroup, null, null, targetAnimClip, targetAnimTimeline, targetFrame)); }