public override void Create(MessageConsole console)
 {
     base.Create(console);
     if (Answers.Count > 0)
     {
         Screen.MessageConsole.PrintMessage(Answers[PointerIndex].Item1.Details());
     }
     else
     {
         Screen.MessageConsole.PrintMessage(""); //will clear MessageConsole when last item is taken
     }
 }
        public override void Create(MessageConsole console)
        {
            Other.Clear();
            Other.AddRange(Answers.Select(t => ConsoleObjects.CreateFromString(t.Item2)));

            ComputePositions(console);

            for (var i = 0; i < Other.Count; i++)
            {
                Other[i].Position = Positions[i];
            }

            PointerIndex = StartIndex;

            Text.Position = console.Position + new Point(1, 1) + TextPositionOffset;
        }
        private void ComputePositions(MessageConsole console)
        {
            var columns = (int)Math.Ceiling(Answers.Count * 1.0 / Rows);
            var last    = 1;

            for (var i = 0; i < columns; i++)
            {
                for (var j = 0; j < Rows && i * Rows + j < Answers.Count; j++)
                {
                    Positions.Add(console.Position + new Point(last, j + 1 + (Text == null ? 0 : 2)) + ChoicePositionOffset);
                }

                var maxLegth = 0;
                for (var j = 0; j < Rows && i * Rows + j < Answers.Count; j++)
                {
                    maxLegth = Math.Max(maxLegth, Answers[i * Rows + j].Item2.Length);
                }
                last += maxLegth + 2;
            }
        }
 public override void Create(MessageConsole console)
 {
     base.Create(console);
     waitPointer          = ConsoleObjects.CreateBlinkingFromGlyph(26, 1);
     waitPointer.Position = console.Position + new Point(console.Width - 2, console.Height - 2);
 }
 public override void Create(MessageConsole console)
 {
     text          = ConsoleObjects.CreateFromString(message);
     text.Position = console.Position + new Point(1, 1);
 }
 public override void Create(MessageConsole console)
 {
     Text.Position = console.Position + new Point(1, 1);
     timer.Start();
 }
 public abstract void Create(MessageConsole console);