Beispiel #1
0
        public void SetLinkedCurveKey(apAnimCurve prevLinkedCurveKey, apAnimCurve nextLinkedCurveKey,
                                      int prevIndex, int nextIndex
                                      //, bool isPrevDummyIndex, bool isNextDummyIndex
                                      )
        {
            _prevLinkedCurveKey = prevLinkedCurveKey;
            _nextLinkedCurveKey = nextLinkedCurveKey;

            _prevIndex = prevIndex;
            _nextIndex = nextIndex;

            #region [미사용 코드]
            //_isPrevKeyUseDummyIndex = isPrevDummyIndex;
            //_isNextKeyUseDummyIndex = isNextDummyIndex;

            //Delta값은 항상 B-A 방식으로 한다.

            //float prevKeyIndex = _keyIndex;
            //float nextKeyIndex = _keyIndex;

            //if (_prevLinkedCurveKey == null)
            //{
            //	_prevDeltaX = 1.0f;
            //	_prevDeltaY = Vector4.zero;
            //}
            //else
            //{
            //	//prevKeyIndex = _prevLinkedCurveKey.GetIndex(_isPrevKeyUseDummyIndex);

            //	_prevDeltaX = (_keyIndex - _prevIndex);
            //	_prevDeltaY = (_keyValue - _prevLinkedCurveKey._keyValue);
            //}


            //if(_nextLinkedCurveKey == null)
            //{
            //	_nextDeltaX = 1.0f;
            //	_nextDeltaY = Vector4.zero;
            //}
            //else
            //{
            //	//nextKeyIndex = _nextLinkedCurveKey.GetIndex(_isNextKeyUseDummyIndex);

            //	//_nextDeltaX = (nextKeyIndex - _keyIndex);
            //	_nextDeltaX = (_nextIndex - _keyIndex);
            //	_nextDeltaY = (_nextLinkedCurveKey._keyValue - _keyValue);
            //}

            //_prevDeltaX = Mathf.Max(_prevDeltaX, MIN_DELTA_X);
            //_nextDeltaX = Mathf.Max(_nextDeltaX, MIN_DELTA_X);

            //각도를 가지고 YOffset을 다시 계산하자
            //CalculateSmooth();
            #endregion

            ////Debug.Log("Link Curve Key");
            //_prevTable.LinkAnimCurve(prevLinkedCurveKey);
            //_nextTable.LinkAnimCurve(nextLinkedCurveKey);

            //Refresh();

            _prevCurveResult.Link(prevLinkedCurveKey, this, false, !(Application.isPlaying));
            _nextCurveResult.Link(this, nextLinkedCurveKey, true, !(Application.isPlaying));

            //Refresh();
        }
Beispiel #2
0
        public void SetLinkedCurveKey(apAnimCurve prevLinkedCurveKey, apAnimCurve nextLinkedCurveKey,
                                      int prevIndex, int nextIndex

                                      //bool isMakeCurveForce = false//<< 삭제 19.5.20 : 이게 문제가 아닌데??
                                      //, bool isPrevDummyIndex, bool isNextDummyIndex
                                      )
        {
            _prevLinkedCurveKey = prevLinkedCurveKey;
            _nextLinkedCurveKey = nextLinkedCurveKey;

            _prevIndex = prevIndex;
            _nextIndex = nextIndex;

            #region [미사용 코드]
            //_isPrevKeyUseDummyIndex = isPrevDummyIndex;
            //_isNextKeyUseDummyIndex = isNextDummyIndex;

            //Delta값은 항상 B-A 방식으로 한다.

            //float prevKeyIndex = _keyIndex;
            //float nextKeyIndex = _keyIndex;

            //if (_prevLinkedCurveKey == null)
            //{
            //	_prevDeltaX = 1.0f;
            //	_prevDeltaY = Vector4.zero;
            //}
            //else
            //{
            //	//prevKeyIndex = _prevLinkedCurveKey.GetIndex(_isPrevKeyUseDummyIndex);

            //	_prevDeltaX = (_keyIndex - _prevIndex);
            //	_prevDeltaY = (_keyValue - _prevLinkedCurveKey._keyValue);
            //}


            //if(_nextLinkedCurveKey == null)
            //{
            //	_nextDeltaX = 1.0f;
            //	_nextDeltaY = Vector4.zero;
            //}
            //else
            //{
            //	//nextKeyIndex = _nextLinkedCurveKey.GetIndex(_isNextKeyUseDummyIndex);

            //	//_nextDeltaX = (nextKeyIndex - _keyIndex);
            //	_nextDeltaX = (_nextIndex - _keyIndex);
            //	_nextDeltaY = (_nextLinkedCurveKey._keyValue - _keyValue);
            //}

            //_prevDeltaX = Mathf.Max(_prevDeltaX, MIN_DELTA_X);
            //_nextDeltaX = Mathf.Max(_nextDeltaX, MIN_DELTA_X);

            //각도를 가지고 YOffset을 다시 계산하자
            //CalculateSmooth();
            #endregion

            //이전
            //_prevCurveResult.Link(prevLinkedCurveKey, this, false, !(Application.isPlaying) || isMakeCurveForce);
            //_nextCurveResult.Link(this, nextLinkedCurveKey, true, !(Application.isPlaying) || isMakeCurveForce);

            //변경 : 19.5.20 : 최적화 작업
            _prevCurveResult.Link(prevLinkedCurveKey, this, false);
            _nextCurveResult.Link(this, nextLinkedCurveKey, true);
        }