public static Tuple <StageVm, SortableVm> ToNextTicOld(this StageVm stageVm, double animationPct, SortableVm sortableVm = null) { if (stageVm.SortableVm == null) { if (sortableVm == null) { return(new Tuple <StageVm, SortableVm>( item1: stageVm, item2: null)); } return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: stageVm.SortableVm.ChangeSectionCount(stageVm.StageVmStyle.SortableVmStyle.SectionCount) .ChangeAnimationPct(animationPct)), item2: null)); } else { return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: stageVm.SortableVm.ChangeAnimationPct(animationPct)), item2: null)); } }
public static StageVm SetStageVmStyle(this StageVm stageVm, StageVmStyle stageVmStyle) { return(new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: stageVm.SortableVm )); }
public static StageVm ClearAll(this StageVm stageVm) { return(new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms.Select(kpvm => kpvm.ResetUseHistory()), sortableVm: null )); }
public static StageVm ChangeAnimationPct(this StageVm stageVm, double animationPct) { if (stageVm == null) { return(null); } return(new StageVm ( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms.Select(kpvm => kpvm.ResetUseHistory()), sortableVm: stageVm.SortableVm.ChangeAnimationPct(animationPct) )); }
public static StageVm ToNextTic(this StageVm stageVm, double animationPct) { if (stageVm.SortableVm == null) { return(stageVm); } else { return(new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: stageVm.SortableVm.ChangeAnimationPct(animationPct))); } }
public static double WidthToHeight(this StageVm stageVm) { return(stageVm.StageVmStyle.SortableVmStyle.StageWidthToHeight()); }
public static Tuple <StageVm, SortableVm> ToNextStep(this StageVm stageVm, SortableVm sortableVm = null) { if (stageVm.SortableVm == null) { if (sortableVm == null) { return(new Tuple <StageVm, SortableVm>( item1: stageVm, item2: null)); } return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: sortableVm.ChangeSectionCount(stageVm.StageVmStyle.SortableVmStyle.SectionCount)), item2: null)); } if (stageVm.SortableVm.StageVmStep == StageVmStep.PostSort) { if (sortableVm == null) { return(new Tuple <StageVm, SortableVm>( item1: stageVm, item2: null)); } return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: sortableVm.ChangeSectionCount(stageVm.StageVmStyle.SortableVmStyle.SectionCount) ), item2: null)); } switch (stageVm.SortableVm.StageVmStep) { case StageVmStep.Init: return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: stageVm.SortableVm.ToLeftStep(stageVm.KeyPairVms.ToArray())), item2: null)); case StageVmStep.Left: return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: stageVm.SortableVm.ToPreSortStep(stageVm.KeyPairVms.ToArray())), item2: null)); case StageVmStep.Presort: return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms.UpdateKeyPairVms(stageVm.SortableVm.PastSortableItemVms), sortableVm: stageVm.SortableVm.ToPostSortStep()), item2: stageVm.SortableVm.ToInitStep())); case StageVmStep.PostSort: return(new Tuple <StageVm, SortableVm>( item1: new StageVm( stageIndex: stageVm.StageIndex, stageVmStyle: stageVm.StageVmStyle, order: stageVm.Order, keyPairVms: stageVm.KeyPairVms, sortableVm: null), item2: null)); default: throw new Exception($"{stageVm.SortableVm.StageVmStep} not handled"); } }