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