示例#1
0
        internal static void Initialize()
        {
            new Thread(() =>
            {
                while (true)
                {
                    int CursorTop2 = Console.CursorTop = Console.WindowTop + Console.WindowHeight - 1;
                    Console.Write("*****@*****.** > ");

                    string Command = Console.ReadLine();

                    Console.SetCursorPosition(0, CursorTop2 - 1);
                    Console.WriteLine(new string(' ', Console.BufferWidth));
                    Console.SetCursorPosition(0, CursorTop2 - 2);

                    switch (Command)
                    {
                    case "/stats":
                        {
                            if (Resources.Started)
                            {
                                Console.WriteLine();
                                Console.WriteLine("# " + DateTime.Now.ToString("d") + " ---- STATS ---- " + DateTime.Now.ToString("T") + " #");
                                Console.WriteLine("# ----------------------------------- #");
                                Console.WriteLine("# In-Memory Devices  # " + ConsolePad.Padding(Resources.Devices.Count.ToString(), 15) + "#");
                                Console.WriteLine("# In-Memory Accounts # " + ConsolePad.Padding(Resources.Accounts.Count.ToString(), 15) + "#");
                                Console.WriteLine("# In-Memory Clans    # " + ConsolePad.Padding(Resources.Clans.Count.ToString(), 15) + "#");
                                Console.WriteLine("# In-Memory Duels    # " + ConsolePad.Padding(Resources.Duels.DuelBattles.Count.ToString(), 15) + "#");
                                Console.WriteLine("# In-Memory Duels-Q  # " + ConsolePad.Padding(Resources.Duels.WaitingDeviceQueue.Count.ToString(), 15) + "#");
                                Console.WriteLine("# ----------------------------------- #");

                                Console.WriteLine("# Incoming-Processors ->" + "#".PadLeft(39 - "# Incoming-Processors ->".Length));
                                foreach (var processor in Resources.Processor.IncomingThreads)
                                {
                                    string line = $"# --- {processor.Count} In Queue";
                                    Console.WriteLine(line + "#".PadLeft(39 - line.Length));
                                }

                                Console.WriteLine("# Outgoing-Processors ->" + "#".PadLeft(39 - "# Outgoing-Processors ->".Length));
                                foreach (var processor in Resources.Processor.OutgoingThreads)
                                {
                                    string line = $"# --- {processor.Count} In Queue";
                                    Console.WriteLine(line + "#".PadLeft(39 - line.Length));
                                }

                                Console.WriteLine("# ----------------------------------- #");
                            }

                            break;
                        }

                    case "/test":
                        {
                            if (Resources.Started)
                            {
                            }

                            break;
                        }

                    case "/clear":
                        {
                            Console.Clear();
                            break;
                        }

                    case "/exit":
                    case "/shutdown":
                    case "/stop":
                        {
                            EventsHandler.Process();
                            break;
                        }

                    case "/debug":
                        {
                            string[] Names = LogicDebug.GetListOfCommands();

                            foreach (string name in Names)
                            {
                                Console.WriteLine("[DEBUG] Logic : " + ConsolePad.Padding(name));
                            }

                            break;
                        }

                    default:
                        {
                            var players = Resources.Accounts.GetAllPlayers();
                            LogicDebug.Execute(Command, players);
                            Console.WriteLine();
                            break;
                        }
                    }
                }
            }).Start();
        }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Parser"/> class.
        /// </summary>
        internal static void Initialize()
        {
            new Thread(() =>
            {
                while (true)
                {
                    int CursorTop2 = Console.CursorTop = Console.WindowTop + Console.WindowHeight - 1;
                    Console.Write("root@localhost > ");

                    string Command = Console.ReadLine();

                    Console.SetCursorPosition(0, CursorTop2 - 1);
                    Console.WriteLine(new string(' ', Console.BufferWidth));
                    Console.SetCursorPosition(0, CursorTop2 - 2);

                    switch (Command)
                    {
                    case "/stats":
                        {
                            if (Resources.Started)
                            {
                                Console.WriteLine();
                                Console.WriteLine("# " + DateTime.Now.ToString("d") + " ---- STATS ---- " + DateTime.Now.ToString("T") + " #");
                                Console.WriteLine("# ----------------------------------- #");
                                Console.WriteLine("# In-Memory Players # " + ConsolePad.Padding(Resources.Players.Count.ToString(), 15) + " #");
                                Console.WriteLine("# In-Memory Clans   # " + ConsolePad.Padding(Resources.Clans.Count.ToString(), 15) + " #");
                                Console.WriteLine("# In-Memory Saea    # " + ConsolePad.Padding(Resources.TCPGateway.ReadPool.Pool.Count + " - " + Resources.TCPGateway.WritePool.Pool.Count, 15) + " #");
                                Console.WriteLine("# ----------------------------------- #");
                            }

                            break;
                        }

                    case "/test":
                        {
                            if (Resources.Started)
                            {
                                foreach (Player Player in Resources.Players.Values.ToList())
                                {
                                    new Sector_State_Message(Player.GameMode.Device, Player.GameMode).Send();
                                }
                            }

                            break;
                        }

                    case "/clear":
                        {
                            Console.Clear();
                            break;
                        }

                    case "/exit":
                    case "/shutdown":
                    case "/stop":
                        {
                            EventsHandler.Process();
                            break;
                        }

                    case "/debug":
                        {
                            string[] Names = LogicDebug.GetListOfCommands();

                            for (int i = 0; i < Names.Length; i++)
                            {
                                Console.WriteLine("[DEBUG] Logic : " + ConsolePad.Padding(Names[i]));
                            }

                            break;
                        }

                    default:
                        {
                            LogicDebug.Execute(Command, Resources.Players.Values.ToArray());
                            Console.WriteLine();
                            break;
                        }
                    }
                }
            }).Start();
        }