Exemplo n.º 1
0
        public void CharacterMovesInSegmentedMode_CharacterMovesEachSegmentBasedOnTotalMovementPerTurnDividedByTwelve()
        {
            Run.Inches = 18;
            RunManuever.SegmentMovementMode = true;

            SequenceTimer watchEachSeqgmentforRunning = new SequenceTimer
                                                            (DurationUnit.Segment, 1, Sequence, Timing.Start, 6);
            int segmentWatching = 0;

            RunManuever.InchesMovingThisPhase = 18;
            int inchesPerSegment = RunManuever.InchesMovingThisPhase * Character.SPD.CurrentValue / Character.NextPhase.SegmentPartOf.Number;

            int next = 2;

            watchEachSeqgmentforRunning.TimerAction += delegate(SequenceTimer seq)
            {
                segmentWatching++;
                Assert.AreEqual(segmentWatching, Sequence.ActiveSegment.Number);
                //  Assert.AreEqual(inchesPerSegment * segmentWatching, Run.InchesMovingThisPhase - Run.InchesMovingThisPhaseNotYetUsed);

                if (segmentWatching == next)
                {
                    seq.KillTimer();
                }
            };

            watchEachSeqgmentforRunning.StartTimer();

            RunManuever.Perform();
            Run.RaceForward();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        public ListDialogBase(ConsoleApplication app, IEnumerable <T> source)
        {
            timer = new SequenceTimer(SetFilterstringCore);

            InsertControl(0, list   = CreateListView());
            InsertControl(1, filter = new ReadLineOverlay()
            {
                ForegroundColor = ConsoleColor.Yellow,
                BackgroundColor = ConsoleColor.DarkBlue
            });

            list.Source           = source;
            filter.CursorChanged += Filter_CursorChanged;
            filter.TextChanged   += Filter_TextChanged;

            Filter_CursorChanged(filter, EventArgs.Empty);

            Application = app ?? throw new ArgumentNullException(nameof(app));
        }         // ctor