// Functions
        //-----------------------------------------------
        // Timeline -> File
        //---------------------------------------------
        public void SetTimeline(int unitID, apAnimTimeline timeline)
        {
            _unitID = unitID;

            _timelineUniqueID = timeline._uniqueID;
            _linkedTimeline   = timeline;

            _guiColor = timeline._guiColor;

            _linkType         = timeline._linkType;
            _modifierUniqueID = timeline._modifierUniqueID;

            //연결된 Modifier의 Type을 넣자.
            //같은걸 대입하기 위함 (UniqueID를 찾지 못했다면..)
            _linkedModifierType = apModifierBase.MODIFIER_TYPE.Base;
            if (timeline._linkedModifier != null && _linkType == apAnimClip.LINK_TYPE.AnimatedModifier)
            {
                _linkedModifierType = timeline._linkedModifier.ModifierType;
            }

            _layerUnits.Clear();
            int curUnitID = 0;

            for (int i = 0; i < timeline._layers.Count; i++)
            {
                //Layer도 넣자
                apRetargetTimelineLayerUnit layerUnit = new apRetargetTimelineLayerUnit();
                layerUnit.SetTimelineLayer(curUnitID, timeline._layers[i]);

                curUnitID++;
                _layerUnits.Add(layerUnit);
            }
        }
        public bool DecodeData(StreamReader sr)
        {
            try
            {
                string   strHeader = sr.ReadLine();
                string[] strParse  = strHeader.Split(new string[] { "/" }, StringSplitOptions.None);

                //Timeline Header 정보를 먼저 파싱하자
                _unitID           = int.Parse(strParse[0]);
                _timelineUniqueID = int.Parse(strParse[1]);

                _guiColor.r = float.Parse(strParse[2]);
                _guiColor.g = float.Parse(strParse[3]);
                _guiColor.b = float.Parse(strParse[4]);
                _guiColor.a = float.Parse(strParse[5]);

                _linkType           = (apAnimClip.LINK_TYPE) int.Parse(strParse[6]);
                _modifierUniqueID   = int.Parse(strParse[7]);
                _linkedModifierType = (apModifierBase.MODIFIER_TYPE) int.Parse(strParse[8]);

                int nLayers = int.Parse(strParse[9]);
                _layerUnits.Clear();

                for (int i = 0; i < nLayers; i++)
                {
                    //Layer를 하나씩 Decode한다.
                    apRetargetTimelineLayerUnit layerUnit = new apRetargetTimelineLayerUnit();
                    layerUnit.DecodeData(sr);
                    _layerUnits.Add(layerUnit);
                }
            }
            catch (Exception ex)
            {
                Debug.LogError("DecodeData Exception : " + ex);
                return(false);
            }

            return(true);
        }