// Functions //----------------------------------------------- // Event -> File //-------------------------------------------------------------- public void SetAnimationEvent(apAnimEvent animEvent) { _frameIndex = animEvent._frameIndex; _frameIndex_End = animEvent._frameIndex_End; _eventName = animEvent._eventName; _callType = animEvent._callType; _subParams.Clear(); for (int i = 0; i < animEvent._subParams.Count; i++) { SubParameter newSubParam = new SubParameter(); apAnimEvent.SubParameter srcParam = animEvent._subParams[i]; newSubParam._paramType = srcParam._paramType; newSubParam._boolValue = srcParam._boolValue; newSubParam._intValue = srcParam._intValue; newSubParam._floatValue = srcParam._floatValue; newSubParam._vec2Value = srcParam._vec2Value; newSubParam._strValue = srcParam._strValue; newSubParam._intValue_End = srcParam._intValue_End; newSubParam._floatValue_End = srcParam._floatValue_End; newSubParam._vec2Value_End = srcParam._vec2Value_End; _subParams.Add(newSubParam); } }
//------------------------------------------------------------------------------ // Copy For Bake //------------------------------------------------------------------------------ public void CopyFromAnimEvent(apAnimEvent srcEvent) { _frameIndex = srcEvent._frameIndex; _frameIndex_End = srcEvent._frameIndex_End; _eventName = srcEvent._eventName; _callType = srcEvent._callType; _subParams.Clear(); for (int iParam = 0; iParam < srcEvent._subParams.Count; iParam++) { SubParameter srcParam = srcEvent._subParams[iParam]; //파라미터 복사 SubParameter newParam = new SubParameter(); newParam._paramType = srcParam._paramType; newParam._boolValue = srcParam._boolValue; newParam._intValue = srcParam._intValue; newParam._floatValue = srcParam._floatValue; newParam._vec2Value = srcParam._vec2Value; newParam._strValue = srcParam._strValue; newParam._intValue_End = srcParam._intValue_End; newParam._floatValue_End = srcParam._floatValue_End; newParam._vec2Value_End = srcParam._vec2Value_End; _subParams.Add(newParam); } }
public bool DecodeData(StreamReader sr) { try { string strSrc = sr.ReadLine(); int nNameLength = int.Parse(strSrc.Substring(0, 3)); if (nNameLength > 0) { _eventName = strSrc.Substring(3, nNameLength); } else { _eventName = ""; } strSrc = strSrc.Substring(3 + nNameLength); string[] strParse = strSrc.Split(new string[] { "/" }, StringSplitOptions.None); _frameIndex = int.Parse(strParse[0]); _frameIndex_End = int.Parse(strParse[1]); _callType = (apAnimEvent.CALL_TYPE) int.Parse(strParse[2]); int nSubParam = int.Parse(strParse[3]); _subParams.Clear(); for (int i = 0; i < nSubParam; i++) { SubParameter subParam = new SubParameter(); strSrc = sr.ReadLine(); int nStrValue = int.Parse(strSrc.Substring(0, 3)); if (nStrValue > 0) { subParam._strValue = strSrc.Substring(3, nStrValue); } else { subParam._strValue = ""; } strSrc = strSrc.Substring(3 + nStrValue); strParse = strSrc.Split(new string[] { "/" }, StringSplitOptions.None); subParam._paramType = (apAnimEvent.PARAM_TYPE) int.Parse(strParse[0]); subParam._boolValue = (int.Parse(strParse[1]) == 1 ? true : false); subParam._intValue = int.Parse(strParse[2]); subParam._floatValue = float.Parse(strParse[3]); subParam._vec2Value.x = float.Parse(strParse[4]); subParam._vec2Value.y = float.Parse(strParse[5]); subParam._intValue_End = int.Parse(strParse[6]); subParam._floatValue_End = float.Parse(strParse[7]); subParam._vec2Value_End.x = float.Parse(strParse[8]); subParam._vec2Value_End.y = float.Parse(strParse[9]); _subParams.Add(subParam); } } catch (Exception ex) { Debug.LogError("DecodeData Exception : " + ex); return(false); } return(true); }
public bool EncodeToFile(StreamWriter sw) { //AnimEvent의 기본 정보를 넣고 System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (_eventName.Length < 10) { sb.Append("00"); sb.Append(_eventName.Length); } else if (_eventName.Length < 100) { sb.Append("0"); sb.Append(_eventName.Length); } else { sb.Append(_eventName.Length); } if (_eventName.Length > 0) { sb.Append(_eventName); } sb.Append(_frameIndex); sb.Append("/"); sb.Append(_frameIndex_End); sb.Append("/"); sb.Append((int)_callType); sb.Append("/"); sb.Append(_subParams.Count); sb.Append("/"); sw.WriteLine(sb.ToString()); //SubParam 정보를 한줄씩 넣자 for (int i = 0; i < _subParams.Count; i++) { SubParameter subParam = _subParams[i]; System.Text.StringBuilder sb_sub = new System.Text.StringBuilder(); if (subParam._strValue.Length == 0) { sb_sub.Append("000"); } else if (subParam._strValue.Length < 10) { sb_sub.Append("00"); sb_sub.Append(subParam._strValue.Length); } else if (subParam._strValue.Length < 100) { sb_sub.Append("0"); sb_sub.Append(subParam._strValue.Length); } else { sb_sub.Append(subParam._strValue.Length); } if (subParam._strValue.Length > 0) { sb_sub.Append(subParam._strValue); } sb_sub.Append((int)subParam._paramType); sb_sub.Append("/"); sb_sub.Append((subParam._boolValue ? "1" : "0")); sb_sub.Append("/"); sb_sub.Append(subParam._intValue); sb_sub.Append("/"); sb_sub.Append(subParam._floatValue); sb_sub.Append("/"); sb_sub.Append(subParam._vec2Value.x); sb_sub.Append("/"); sb_sub.Append(subParam._vec2Value.y); sb_sub.Append("/"); sb_sub.Append(subParam._intValue_End); sb_sub.Append("/"); sb_sub.Append(subParam._floatValue_End); sb_sub.Append("/"); sb_sub.Append(subParam._vec2Value_End.x); sb_sub.Append("/"); sb_sub.Append(subParam._vec2Value_End.y); sb_sub.Append("/"); sw.WriteLine(sb_sub.ToString()); } return(true); }