//초기화를 위해서 모든 트랙 데이터를 초기화
 public void UnlinkAll()
 {
     for (int i = 0; i < _nTrackData; i++)
     {
         _curTrackData = _trackData[i];
         _curTrackData.UnlinkAll();
     }
 }
            //트랙을 추가한다.
            public bool AddTrack(string trackName, int layer, apAnimPlayUnit.BLEND_METHOD blendMethod, apPortrait portrait, apAnimPlayManager animPlayManager)
            {
                //이미 적용된 트랙이 있다면, 에러 메시지를 보낸다.
                bool isExist = _trackData.Exists(delegate(TimelineTrackData a)
                {
                    return(a._trackName.Equals(trackName));
                });

                if (isExist)
                {
                    Debug.LogError("AnyPortrait : A track with the same name has already been registered. [ " + trackName + " ]");
                    return(false);
                }

                TimelineTrackData newTrackData = new TimelineTrackData(this);
                bool isResult = newTrackData.SetTrack(trackName, layer, blendMethod, portrait, animPlayManager);

                if (!isResult)
                {
                    return(false);
                }

                //리스트에 트랙 추가
                _trackData.Add(newTrackData);
                _nTrackData = _trackData.Count;

                //트랙을 추가했으면, Layer에 맞게 정렬한다. (오름차순)
                _trackData.Sort(delegate(TimelineTrackData a, TimelineTrackData b)
                {
                    return(a._layerIndex - b._layerIndex);
                });

                for (int i = 0; i < _trackData.Count; i++)
                {
                    _trackData[i].SetLayerOrder(i);                    //<<레이어의 순서를 다시 지정한다.
                }

                return(true);
            }
            //업데이트
            public void Update(apAnimPlayManager animPlayManager)
            {
#if UNITY_2017_1_OR_NEWER
                _lastPlayedTimelineClip = null;
#endif

                if (_nTrackData == 0)
                {
                    return;
                }

                for (int i = 0; i < _nTrackData; i++)
                {
                    _curTrackData = _trackData[i];
                    _curTrackData.Update(animPlayManager);
                }

                //0번 레이어의 마지막으로 재생된 클립 정보를 받자
#if UNITY_2017_1_OR_NEWER
                _lastPlayedTimelineClip = _trackData[0]._lastPlayedTimelineClip;
#endif
                _lastPlayedLocalTime = _trackData[0]._lastPlayedLocalTime;
            }