public SongMetadataFloatValue(SongMetadataProperty prop)
        {
            if (prop == null)
            {
                return;
            }

            PropertyName = prop.PropertyName;
        }
Exemplo n.º 2
0
        public static MusicSetting Clone(MusicSetting mus, MasterAudio.Playlist aList)
        {
            var clone = new MusicSetting {
                alias                    = mus.alias,
                audLocation              = mus.audLocation,
                clip                     = mus.clip,
                songName                 = mus.songName,
                resourceFileName         = mus.resourceFileName,
                volume                   = mus.volume,
                pitch                    = mus.pitch,
                isExpanded               = mus.isExpanded,
                isLoop                   = mus.isLoop,
                isChecked                = mus.isChecked,
                customStartTime          = mus.customStartTime,
                songStartedEventExpanded = mus.songStartedEventExpanded,
                songStartedCustomEvent   = mus.songStartedCustomEvent,
                songChangedEventExpanded = mus.songChangedEventExpanded,
                songChangedCustomEvent   = mus.songChangedCustomEvent,
                metadataExpanded         = mus.metadataExpanded
            };

            SongMetadataProperty prop = null;

            for (var i = 0; i < mus.metadataStringValues.Count; i++)
            {
                var valToClone = mus.metadataStringValues[i];
                prop = aList.songMetadataProps.Find(delegate(SongMetadataProperty p) {
                    return(p.PropertyName == valToClone.PropertyName);
                });
                var sVal = new SongMetadataStringValue(prop);
                sVal.Value = valToClone.Value;
                clone.metadataStringValues.Add(sVal);
            }

            for (var i = 0; i < mus.metadataFloatValues.Count; i++)
            {
                var valToClone = mus.metadataFloatValues[i];
                prop = aList.songMetadataProps.Find(delegate(SongMetadataProperty p) {
                    return(p.PropertyName == valToClone.PropertyName);
                });
                var fVal = new SongMetadataFloatValue(prop);
                fVal.Value = valToClone.Value;
                clone.metadataFloatValues.Add(fVal);
            }

            for (var i = 0; i < mus.metadataBoolValues.Count; i++)
            {
                var valToClone = mus.metadataBoolValues[i];
                prop = aList.songMetadataProps.Find(delegate(SongMetadataProperty p) {
                    return(p.PropertyName == valToClone.PropertyName);
                });
                var bVal = new SongMetadataBoolValue(prop);
                bVal.Value = valToClone.Value;
                clone.metadataBoolValues.Add(bVal);
            }

            for (var i = 0; i < mus.metadataIntValues.Count; i++)
            {
                var valToClone = mus.metadataIntValues[i];
                prop = aList.songMetadataProps.Find(delegate(SongMetadataProperty p) {
                    return(p.PropertyName == valToClone.PropertyName);
                });
                var iVal = new SongMetadataIntValue(prop);
                iVal.Value = valToClone.Value;
                clone.metadataIntValues.Add(iVal);
            }

            return(clone);
            // ReSharper restore InconsistentNaming
        }