//--------------------------------------------------------------------
        // 3. Vertex Rigging
        //--------------------------------------------------------------------
        public void Copy_VertRig(apModifiedVertexRig modVertRig, string snapShotName)
        {
            _clipboard_VertRig = new apSnapShotStackUnit(snapShotName);
            bool result = _clipboard_VertRig.SetSnapShot_VertRig(modVertRig, "Clipboard");

            if (!result)
            {
                _clipboard_VertRig = null;                //<<저장 불가능하다.
            }
        }
        //--------------------------------------------------------------------
        // 2. Keyframe
        //--------------------------------------------------------------------
        public void Copy_Keyframe(apAnimKeyframe keyframe, string snapShotName)
        {
            _clipboard_Keyframe = new apSnapShotStackUnit(snapShotName);
            bool result = _clipboard_Keyframe.SetSnapShot_Keyframe(keyframe, "Clipboard");

            if (!result)
            {
                _clipboard_Keyframe = null;                //<<저장 불가능하다.
            }
        }
        //--------------------------------------------------------------------
        // 1-2. ModBone
        //--------------------------------------------------------------------
        public void Copy_ModBone(apModifiedBone modBone, string snapShotName)
        {
            _clipboard_ModBone = new apSnapShotStackUnit(snapShotName);
            bool result = _clipboard_ModBone.SetSnapShot_ModBone(modBone, "Clipboard");

            if (!result)
            {
                _clipboard_ModBone = null;                //<<저장 불가능하다.
            }
        }
        // Functions
        //-------------------------------------------

        // Copy / Paste
        //--------------------------------------------------------------------
        // 1. ModMesh
        //--------------------------------------------------------------------
        public void Copy_ModMesh(apModifiedMesh modMesh, string snapShotName)
        {
            _clipboard_ModMesh = new apSnapShotStackUnit(snapShotName);
            bool result = _clipboard_ModMesh.SetSnapShot_ModMesh(modMesh, "Clipboard");

            if (!result)
            {
                _clipboard_ModMesh = null;                //<<저장 불가능하다.
            }
        }
Exemplo n.º 5
0
        public void Clear()
        {
            _clipboard_ModMesh  = null;
            _clipboard_Keyframe = null;
            _clipboard_VertRig  = null;
            _clipboard_ModBone  = null;

            _snapShotList.Clear();
            //_curSnapShot = null;
            //_iCurSnapShot = -1;
            //_restoredSnapShot = false;
        }
        //--------------------------------------------------------------------
        // 2.5. Keyframe 여러개 복사하기
        //--------------------------------------------------------------------
        //추가 3.29 : 타임라인 UI에서 키프레임들을 Ctrl+C로 복사하기
        public void Copy_KeyframesOnTimelineUI(apAnimClip animClip, List <apAnimKeyframe> keyframes)
        {
            if (animClip == null || keyframes == null || keyframes.Count == 0)
            {
                _clipboard_AnimClipOfKeyframes = null;
                _clipboard_Keyframes           = null;
                _copied_keyframes_StartFrame   = -1;
                _copied_keyframes_EndFrame     = -1;
                return;
            }


            _clipboard_AnimClipOfKeyframes = animClip;
            if (_clipboard_Keyframes == null)
            {
                _clipboard_Keyframes = new List <apSnapShotStackUnit>();
            }
            else
            {
                _clipboard_Keyframes.Clear();
            }

            _copied_keyframes_StartFrame = -1;
            _copied_keyframes_EndFrame   = -1;

            apAnimKeyframe srcKeyframe = null;

            for (int i = 0; i < keyframes.Count; i++)
            {
                srcKeyframe = keyframes[i];

                apSnapShotStackUnit newUnit = new apSnapShotStackUnit("Keyframe");
                newUnit.SetSnapShot_Keyframe(srcKeyframe, "Clipboard");
                _clipboard_Keyframes.Add(newUnit);

                if (i == 0)
                {
                    _copied_keyframes_StartFrame = srcKeyframe._frameIndex;
                    _copied_keyframes_EndFrame   = srcKeyframe._frameIndex;
                }
                else
                {
                    _copied_keyframes_StartFrame = Mathf.Min(_copied_keyframes_StartFrame, srcKeyframe._frameIndex);
                    _copied_keyframes_EndFrame   = Mathf.Max(_copied_keyframes_EndFrame, srcKeyframe._frameIndex);
                }
            }
        }