示例#1
0
        // 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);
            }
        }
示例#2
0
        //------------------------------------------------------------------------------
        // 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);
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }