/// <summary> /// Returns a NEW sound info object based on this control point and specified sound info. /// This simply applies default sound settings if specified info has missing values. /// </summary> public SoundInfo CreateAppliedSample(SoundInfo other) { var applied = other.Clone(); applied.Sample = other.Sample ?? Sample; applied.Variant = other.Variant ?? Variant.ToString(); applied.Volume = other.Volume > 0 ? other.Volume : Volume; return(applied); }