public AnimGroupData(AnimGroup group, SsbhAnimTrackDecoder decoder) { Type = group.Type; Nodes = group.Nodes.Select(node => new AnimNodeData(node, decoder)).ToArray(); }
public AnimTrackData(AnimTrack track, SsbhAnimTrackDecoder decoder) { Name = track.Name; Values = decoder.ReadTrack(track); }
public AnimNodeData(AnimNode node, SsbhAnimTrackDecoder decoder) { Name = node.Name; Tracks = node.Tracks.Select(track => new AnimTrackData(track, decoder)).ToArray(); }
private static void AddLightValues(Dictionary <string, HashSet <string> > valuesByName, SsbhAnimTrackDecoder decoder, AnimGroup animGroup) { // Store all unique values for each parameter. foreach (AnimNode animNode in animGroup.Nodes) { foreach (AnimTrack track in animNode.Tracks) { if (!valuesByName.ContainsKey(track.Name)) { valuesByName[track.Name] = new HashSet <string>(); } object[] values = decoder.ReadTrack(track); foreach (var value in values) { if (!valuesByName[track.Name].Contains(value.ToString())) { valuesByName[track.Name].Add(value.ToString()); } } } } }