private void startTimerThatMovesCharacterEachSegment() { int segmentsUntilnextPhase = Character.NextPhase.SegmentPartOf.Number - Character.ActivePhase.SegmentPartOf.Number; SequenceTimer timer = new SequenceTimer (DurationUnit.Segment, segmentsUntilnextPhase, Character.CombatSequence); timer.TimerAction += delegate(SequenceTimer t) { move(); updateMovementAllowanceAndNotifyMovementManueverOfCompletion(); }; timer.StartTimer(); }