/// <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); }
//アニメーション切り替え 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; }
/// <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); }
/// <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); }
public void AddAnimation(int pos, float duration, ANIM_TYPE type) { animations.Add(new Tuple <int, float, ANIM_TYPE>(pos, duration, type)); }