Пример #1
0
        private static void Main(string[] args)
        {
            Log.Default.Logger = new NLogger();
            Log.Default.Initialize(@"D:\TEMP\LOG\", "TETRINET2_ADMIN.LOG");

            IFactory factory = new Factory();

            _admin = new Admin(factory);
            _admin.SetVersion(1, 0);
            _admin.Connect(
                "net.tcp://localhost:7788/TetriNET2Admin",
                "admin1", "123456");

            //_admin.ConnectionLost += AdminOnConnectionLost;

            _admin.Connected += OnConnected;
            _admin.Disconnected += OnDisconnected;

            _admin.ServerStopped += OnServerStopped;

            _admin.ClientConnected += OnClientConnected;
            _admin.ClientDisconnected += OnClientDisconnected;

            _admin.AdminConnected += OnAdminConnected;
            _admin.AdminDisconnected += OnAdminDisconnected;

            _admin.GameCreated += OnGameCreated;
            _admin.GameDeleted += OnGameDeleted;

            _admin.ServerMessageReceived += OnServerMessageReceived;
            _admin.BroadcastMessageReceived += OnBroadcastMessageReceived;
            _admin.PrivateMessageReceived += OnPrivateMessageReceived;

            _admin.AdminListReceived += OnAdminListReceived;
            _admin.ClientListReceived += OnClientListReceived;
            _admin.ClientListInGameReceived += OnClientListInGameReceived;
            _admin.GameListReceived += OnGameListReceived;
            _admin.BannedListReceived += OnBannedListReceived;

            bool stopped = false;
            while (!stopped)
            {
                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo cki = Console.ReadKey(true);
                    switch (cki.Key)
                    {
                        default:
                            DisplayHelp();
                            break;
                        case ConsoleKey.O:
                            _admin.Connect(
                                "net.tcp://localhost:7788/TetriNET2Admin",
                                "admin1", "123456");
                            break;
                        case ConsoleKey.D:
                            _admin.Disconnect();
                            break;
                        case ConsoleKey.X:
                            _admin.Disconnect();
                            stopped = true;
                            break;
                        case ConsoleKey.A:
                            _admin.GetAdminList();
                            break;
                        case ConsoleKey.C:
                            _admin.GetClientList();
                            break;
                        case ConsoleKey.G:
                            _admin.GetGameList();
                            break;
                        case ConsoleKey.B:
                            _admin.GetBannedList();
                            break;
                        case ConsoleKey.S:
                            _admin.RestartServer(30);
                            break;
                    }
                }
                else
                    System.Threading.Thread.Sleep(250);
            }
        }