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(); }
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); }