/// <summary> /// Perform a deep copy of session object /// </summary> /// <returns></returns> public Session Clone() { var returnValue = new Session(Domme.Clone(), Sub.Clone()) { IsScriptPaused = IsScriptPaused, IsOrgasmRuined = IsOrgasmRuined, Phase = Phase, VideoPlaying = VideoPlaying, IsVideoTaunt = IsVideoTaunt, IsLongEdge = IsLongEdge, TimeRemaining = TimeRemaining, MaximumTaskTime = MaximumTaskTime, MinimumTaskTime = MinimumTaskTime, GameBoard = GameBoard?.Clone(), Glitter = Glitter.Select(dp => dp.Clone()).ToList(), IsFirstRound = IsFirstRound, IsBeforeTease = IsBeforeTease, }; var scripts = this.Scripts.ToArray().ToList(); scripts.Reverse(); foreach (var scr in scripts) { returnValue.Scripts.Push(scr.Clone()); } return(returnValue); }
public void CloneTest() { var exp = new Sub(new Number(5), new Number(0)); var clone = exp.Clone(); Assert.Equal(exp, clone); }
private void MenuItem_Click_7(object sender, RoutedEventArgs e) { EL.InsertSub(this, new EditorSub(EL, new Sub((Sub)ESub.Clone())), 1); EL.LPSED.IsEdit = true; }