private void FillIOWavGroup(IOWavGroup ioWavGroup, WavGroup wavGroup) { if (wavGroup == null) { return; } var iOAliasTypes = new List <IOAliasType>(); foreach (var pair in wavGroup.AliasTypes) { var ioAliasType = new IOAliasType { Name = pair.Key.ToString(), CanTakeFromAllPositions = pair.Value.CanTakeAllPositions }; if (!ioAliasType.CanTakeFromAllPositions) { ioAliasType.Positions = pair.Value.Positions; } iOAliasTypes.Add(ioAliasType); } ioWavGroup.AliasTypes = iOAliasTypes.ToArray(); ioWavGroup.WavFiles = wavGroup.Wavs.ToArray(); ioWavGroup.Name = wavGroup.Name; ioWavGroup.SkipC = wavGroup.SkipC.ToArray(); ioWavGroup.SkipV = wavGroup.SkipV.ToArray(); ioWavGroup.SkipR = wavGroup.SkipR.ToArray(); }
private WavGroup FillWavGroup(IOWavGroup ioWavGroup) { var aliasTypes = new Dictionary <AliasType, AliasTypeMask>(); foreach (IOAliasType iOAliasType in ioWavGroup.AliasTypes) { var aliasType = AliasTypeResolver.Current.GetAliasType(iOAliasType.Name); if (aliasType != AliasType.undefined) { aliasTypes[aliasType] = iOAliasType.CanTakeFromAllPositions ? new AliasTypeMask() : new AliasTypeMask(iOAliasType.Positions); } } var wavGroup = new WavGroup(ioWavGroup.Name, aliasTypes, ioWavGroup.WavFiles); wavGroup.SkipC = ioWavGroup.SkipC.ToList(); wavGroup.SkipR = ioWavGroup.SkipR.ToList(); wavGroup.SkipV = ioWavGroup.SkipV.ToList(); return(wavGroup); }
private IOWavMask GetIOWavMask(WavMask wavMask) { var ioWavMask = new IOWavMask { MaxDuplicates = wavMask.MaxDuplicates }; var list = new List <IOWavGroup>(); foreach (var wavGroup in wavMask.WavGroups) { var ioWavGroup = new IOWavGroup(); FillIOWavGroup(ioWavGroup, wavGroup); list.Add(ioWavGroup); } var defaultIOGroup = new IOWavGroup(); FillIOWavGroup(defaultIOGroup, wavMask.Default); ioWavMask.WavGroups = list.ToArray(); return(ioWavMask); }