private AnimationElement cloneAndPaste(AnimationSequencer destinationSequence) { AnimationElement clonedElement = null; if (currentClipboardObject is AnimationElement) { var cloningElement = currentClipboardObject as AnimationElement; clonedElement = cloningElement.Clone(cloningElement.Target); destinationSequence.InsertElement(clonedElement); } else { var cloningAbility = currentClipboardObject as AnimatedAbility; AnimationSequencer sequencer = cloningAbility.Clone() as AnimationSequencer; AnimatedCharacter target = null; if (destinationSequence is AnimatedAbility) { target = (destinationSequence as AnimatedAbility).Target; } else { target = (destinationSequence as SequenceElement).Target; } SequenceElementImpl sequenceElement = new HeroVirtualTabletop.AnimatedAbility.SequenceElementImpl(sequencer, target); sequenceElement.Type = sequencer.Type; sequenceElement.Name = "Sequence: " + sequenceElement.Type.ToString(); clonedElement = sequenceElement; destinationSequence.InsertElement(sequenceElement); } return(clonedElement); }
private AnimationElement cutAndPaste(AnimationSequencer destinationSequence) { object[] clipboardObj = this.currentClipboardObject as object[]; AnimationElement cutElement = clipboardObj[0] as AnimationElement; AnimationSequencer parentSequence = clipboardObj[1] as AnimationSequencer; parentSequence.RemoveElement(cutElement); destinationSequence.InsertElement(cutElement); return(cutElement); }