public Movement Clone() { Movement clonedMovement = new MovementImpl(this.Name); clonedMovement.HasGravity = this.HasGravity; clonedMovement.MovementMembers.Clear(); foreach (MovementMember member in this.MovementMembers) { MovementMember clonedMember = member.Clone(); clonedMovement.MovementMembers.Add(clonedMember); } return(clonedMovement); }
public Movement GetNewMovement() { MovableCharacter defaultCharacter = this.Repository.CharacterByName[HeroVirtualTabletop.AnimatedAbility.DefaultAbilities.CHARACTERNAME] as MovableCharacter; string validMovementName = GetNewValidMovementName(defaultCharacter); Movement movement = new MovementImpl(validMovementName); foreach (var member in movement.MovementMembers) { defaultCharacter.Abilities.AddNew(member.Ability); ReferenceResource refResource = new ReferenceResourceImpl { Ability = member.Ability, Character = defaultCharacter }; member.AbilityReference = refResource; } return(movement); }