Example #1
0
 public AnimGroupData(AnimGroup group, SsbhAnimTrackDecoder decoder)
 {
     Type  = group.Type;
     Nodes = group.Nodes.Select(node => new AnimNodeData(node, decoder)).ToArray();
 }
Example #2
0
 public AnimTrackData(AnimTrack track, SsbhAnimTrackDecoder decoder)
 {
     Name   = track.Name;
     Values = decoder.ReadTrack(track);
 }
Example #3
0
 public AnimNodeData(AnimNode node, SsbhAnimTrackDecoder decoder)
 {
     Name   = node.Name;
     Tracks = node.Tracks.Select(track => new AnimTrackData(track, decoder)).ToArray();
 }
Example #4
0
        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());
                        }
                    }
                }
            }
        }