Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="Type"></param>
        /// <param name="NodeName"></param>
        /// <returns></returns>
        private AnimNode GetNode(ANIM_TYPE type, string nodeName)
        {
            AnimGroup group = GetGroup(type);

            foreach (var node in group.Nodes)
            {
                if (node.Name.Equals(nodeName))
                {
                    return(node);
                }
            }

            var newnode = new AnimNode
            {
                Name   = nodeName,
                Tracks = new AnimTrack[0]
            };

            var nodes = group.Nodes;

            Array.Resize(ref nodes, nodes.Length + 1);
            nodes[nodes.Length - 1] = newnode;
            group.Nodes             = nodes;

            return(newnode);
        }
Beispiel #2
0
    //アニメーション切り替え
    public void PlayerAnimationChange(ANIM_TYPE _changeAnim)
    {
        ResetAnimation();

        switch (_changeAnim)
        {
        case ANIM_TYPE.ANIM_TYPE_WALK:
            SetWalkAnimation();
            break;

        case ANIM_TYPE.ANIM_TYPE_BOTHERED:
            SetBotheredAnimation();
            break;

        case ANIM_TYPE.ANIM_TYPE_WAIT:
            SetWaitAnimation();
            break;

        case ANIM_TYPE.ANIM_TYPE_GLAD:
            SetGladAnimation();
            break;

        case ANIM_TYPE.ANIM_TYPE_SURPRISE:
            SetSurpriseAnimation();
            break;

        case ANIM_TYPE.ANIM_TYPE_SPECIAL:
            SetSpecialAnimation();
            break;
        }
    }
 public void setData(string id, Rect UVs)
 {
     this.id = id;
     this.dimensions = UVs;
     this.frame = new Vector2(UVs.xMax, UVs.yMax);
     this.type = ANIM_TYPE.SINGLE;
 }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        private AnimGroup GetGroup(ANIM_TYPE type)
        {
            foreach (var g in groups)
            {
                if (g.Type == type)
                {
                    return(g);
                }
            }
            AnimGroup group = new AnimGroup();

            group.Type  = type;
            group.Nodes = new AnimNode[0];
            groups.Add(group);
            return(group);
        }
Beispiel #5
0
        /// <summary>
        /// Adds a track to be encoded
        /// </summary>
        /// <param name="NodeName">target material/texture/mesh name</param>
        /// <param name="TrackName">Usually "Transform" or "Visibility" matches <see cref="ANIM_TYPE"/></param>
        /// <param name="Type"><see cref="ANIM_TYPE"/></param>
        /// <param name="Values">Supported types AnimTrackTransform, AnimTrackTexture, AnimTrackCustomVector4, bool, float, int</param>
        public void AddTrack(string nodeName, string trackName, ANIM_TYPE type, IList <object> values)
        {
            AnimNode node = GetNode(type, nodeName);

            AnimTrack track = new AnimTrack
            {
                FrameCount = (uint)values.Count,
                Name       = trackName
            };

            var tracks = node.Tracks;

            Array.Resize(ref tracks, tracks.Length + 1);
            tracks[tracks.Length - 1] = track;
            node.Tracks = tracks;

            trackToValues.Add(track, values);
        }
Beispiel #6
0
 public void AddAnimation(int pos, float duration, ANIM_TYPE type)
 {
     animations.Add(new Tuple <int, float, ANIM_TYPE>(pos, duration, type));
 }