Exemple #1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var serviceProvider = new ServiceCollection()
                                  .AddSingleton <IRequestFacade, RequestFacade>()
                                  .AddSingleton <ILoginManager, LoginManager>()
                                  .AddSingleton <ILobbyManager, LobbyManager>()
                                  .AddSingleton <IGameManager, GameManager>()
                                  .AddSingleton <PlayerManager, PlayerManager>()
                                  .AddSingleton <GameUpdater, GameUpdater>()
                                  .AddSingleton <GameController, GameController>()
                                  .AddSingleton <IStorage, Storage>()
                                  .AddSingleton <LoginController, LoginController>()
                                  .AddSingleton <LobbyController, LobbyController>()
                                  .AddSingleton <ISubject <LoginResponse>, LoginSubject>()
                                  .AddSingleton <IUdpReceiver, UdpReceiver>()
                                  .AddSingleton <IUdpSender, UdpSender>()
                                  .AddSingleton <ISender, SenderAdapter>()
                                  .AddTransient <LoginForm>()
                                  .AddTransient <LobbyForm>()
                                  .AddTransient <GameForm>()
                                  .BuildServiceProvider();

            IUdpReceiver udpReceiver = serviceProvider.GetService <IUdpReceiver>();

            udpReceiver.Connect("127.0.0.1", 23456);

            IUdpSender udpSender = serviceProvider.GetService <IUdpSender>();

            udpSender.Connect(udpReceiver.Socket);

            var loginForm = serviceProvider.GetService <LoginForm>();

            Application.Run(loginForm);
        }