// Show Window / Close Dialog //------------------------------------------------------------------------ public static object ShowDialog(apEditor editor, apAnimClip targetAnimClip, FUNC_ADD_TIMELINE funcResult) { CloseDialog(); if (editor == null || editor._portrait == null || editor._portrait._controller == null) { return(null); } EditorWindow curWindow = EditorWindow.GetWindow(typeof(apDialog_AddAnimTimeline), true, "Select Timeline Type", true); apDialog_AddAnimTimeline curTool = curWindow as apDialog_AddAnimTimeline; object loadKey = new object(); if (curTool != null && curTool != s_window) { int width = 250; int height = 400; 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(editor, loadKey, targetAnimClip, funcResult); return(loadKey); } else { return(null); } }
// Init //------------------------------------------------------------------------ public void Init(apEditor editor, object loadKey, apAnimClip targetAnimGroup, FUNC_ADD_TIMELINE funcResult) { _editor = editor; _loadKey = loadKey; _funcResult = funcResult; _targetAnimClip = targetAnimGroup; _selectedLinkData = null; _linkDataList.Clear(); //타임라인을 검색해보자 //리스트에 들어가는건 한글로 바꾸기 힘들 수 있다. //_linkDataList.Add(new LinkableData(apAnimClip.LINK_TYPE.ControlParam, "Control Parameters", -1, _editor.ImageSet.Get(apImageSet.PRESET.Anim_WithControlParam))); AddLinkableData(apAnimClip.LINK_TYPE.ControlParam, "Control Parameters", -1); //"Control Parameters" //AddLinkableData(apAnimClip.LINK_TYPE.Bone, "Bones", -1); List <apModifierBase> modifiers = _targetAnimClip._targetMeshGroup._modifierStack._modifiers; for (int i = 0; i < modifiers.Count; i++) { apModifierBase curMod = modifiers[i]; if (!curMod.IsAnimated) { continue; } //"Modifier : " AddLinkableData(apAnimClip.LINK_TYPE.AnimatedModifier, "Modifier : " + curMod.DisplayName, curMod._uniqueID); } }