using System; using System.Collections.Generic; using System.Text; using SalsaModel.Actions; using SalsaModel.Scheduling; namespace SalsaModel.Sequences { [Sequence("Lady SR turn")] public class SRTurn : ISequenceProvider { public void AddMoves(SalsaModel.Scheduling.TimeLine timeLine, double startTime, SalsaMover boy, SalsaMover girl) { PositionModel.Side leaderHoldSide = PositionModel.Side.Left; Hold hold = new Hold(GrabBy.RightHand, GrabBy.Nothing); PositionModel.Side followerHoldSide = hold.GetHandSide(leaderHoldSide); Location leaderNeutralOpen = new Location(10, 30, 15); double leadHgt = girl.Model.HipHeight + girl.Body.Trunk + girl.Body.Head + 10; OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 0.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Left, -15); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 1.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Right, -15); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 2.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Left, 20); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 4.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Right, 15); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 5.0, 1.0, boy, leaderHoldSide, girl, hold, new Location((boy.Body.ShoulderWidth / 2.0)*1.0, 30, 10), PositionModel.Side.Left, 15); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 6.0, 1.0, boy, leaderHoldSide, girl, hold, new Location(0, 20, leadHgt - boy.Model.HipHeight), PositionModel.Side.Right, -20); CompositeActions.StepForward(timeLine, startTime + 8.0, 1.0, boy, PositionModel.Side.Left, -15); CompositeActions.StepForward(timeLine, startTime + 9.0, 1.0, boy, PositionModel.Side.Right, -15); CompositeActions.StepForward(timeLine, startTime + 10.0, 1.0, boy, PositionModel.Side.Left, 20); CompositeActions.StepForward(timeLine, startTime + 8.0, 1.0, girl, PositionModel.Side.Right, 15); timeLine.Add(startTime + 9.0, 3.0, new Actions.SRTurn(girl, PositionModel.Side.Left, 15)); timeLine.Add(startTime + 8.0, 4.0, new JustFollowWithHand(boy, leaderHoldSide, girl, followerHoldSide)); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 12.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Right, 15); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 13.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Left, 15); OpenHoldDemo.MoveHandAndFollow(timeLine, startTime + 14.0, 1.0, boy, leaderHoldSide, girl, hold, leaderNeutralOpen, PositionModel.Side.Right, -20); } } }