Esempio n. 1
0
        public void CmdList()
        {
            _bbs.WriteLine();
            _bbs.Write("~d7" + Utils.Center("GFILES IN THIS AREA", _bbs.terminalType.Columns()) + "~d0");
            _currentList = _bbsDataCore.GFileListArea(_currentGFileArea?.Id, _bbs.CurrentUser.Id);
            int row = 1;

            foreach (AreaListRow areaListRow in _currentList)
            {
                if (areaListRow.RowType == AreaListRowType.Area)
                {
                    _bbs.WriteLine("~c1" + Utils.Clip(areaListRow.ListId.ToString(), 3, true) + " ~c8" + Utils.Clip(areaListRow.Title, 33, true));
                }
                else
                {
                    _bbs.WriteLine("~c1" + Utils.Clip(areaListRow.ListId.ToString(), 3, true) + " ~c8" + Utils.Clip(areaListRow.Description, 33, true));
                }
                row++;
                if (row == 23)
                {
                    _bbs.Write("~c7M~c1ore,~c7A~c1bort:~c1");
                    char c = _bbs.GetChar();
                    if (c.ToString().ToUpper() == "A")
                    {
                        _bbs.WriteLine("Abort");
                        break;
                    }
                    if (c.ToString().ToUpper() == "M")
                    {
                        _bbs.WriteLine("More");
                        row = 0;
                    }
                }
            }
            _bbs.WriteLine("");
        }
Esempio n. 2
0
        public int AfterMessagePrompt(bool next)
        {
            int tries  = 0;
            int result = AMP_QUIT;

            while (tries < 3)
            {
                _bbs.Write("~c7R~c1eply,");
                if (next)
                {
                    _bbs.Write("~c7N~c1ext,readto~c7E~c1nd,");
                }
                _bbs.Write("~c7Q~c1uit:~c7");
                char c = _bbs.GetChar();
                switch (c.ToString().ToUpper())
                {
                case "R":
                    _bbs.WriteLine("Reply");
                    result = AMP_REPLY;
                    tries  = 3;
                    break;

                case "N":
                    if (next)
                    {
                        _bbs.WriteLine("Next");
                        result = AMP_NEXT;
                        tries  = 3;
                    }
                    else
                    {
                        _bbs.Write("~g1");
                        tries++;
                        if (tries == 3)
                        {
                            _bbs.WriteLine("Quit");
                        }
                    }
                    break;

                case "Q":
                    tries = 3;
                    _bbs.WriteLine("Quit");
                    break;

                case "E":
                    tries = 3;
                    _bbs.WriteLine("ReadToEnd");
                    break;

                default:
                    _bbs.Write("~g1");
                    tries++;
                    if (tries == 3)
                    {
                        _bbs.WriteLine("Quit");
                    }
                    break;
                }
            }
            _bbs.Write("~c1");
            return(result);
        }