Exemplo n.º 1
0
            public ListenerBuilder(RequestListener subject)
            {
                this.subject = subject;
                isBuilt      = false;

                services = new ServiceCollection();
            }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            dbHandler = new DatabaseHandler();

            Console.WriteLine("Generate new galaxy?");
            string ans = Console.ReadLine();

            if (ans == "y")
            {
                if (File.Exists("StarsDB.db"))
                {
                    File.Delete("StarsDB.db");
                }

                //StarDatabaseCode.StartDB();
                DatabaseHandler.RefreshCurrentGalaxy();

                StarSystemGenerator gen = new StarSystemGenerator();
                gen.GenerateGalaxy();

                DatabaseHandler.GetMainCluster();
            }
            else
            {
                //woah
            }

            RequestListener listener = new RequestListener(57253);

            #region Request Registering

            listener.RegisterRequest <LoginRequest>(RequestHandlers.LoginRequestHandler);
            listener.RegisterRequest <WriteRequest>(RequestHandlers.WriteRequestHandler);
            listener.RegisterRequest <ReadRequest>(RequestHandlers.ReadRequestHandler);
            listener.RegisterRequest <CreateAccountRequest>(RequestHandlers.CreateAccountRequestHandler);
            listener.RegisterRequest <UpdateClientOnServerRequest>(RequestHandlers.UpdateClientOnServerRequestHandler);
            listener.RegisterRequest <FindJumpableSystemsRequest>(RequestHandlers.FindJumpableSystemsRequestHandler);
            listener.RegisterRequest <FindLocalPlayersRequest>(RequestHandlers.FindLocalPlayersRequestHandler);
            listener.RegisterRequest <SendChatRequest>(RequestHandlers.SendChatRequestHandler);
            listener.RegisterRequest <AddModuleRequest>(RequestHandlers.AddModuleRequestHandler);
            listener.RegisterRequest <UserDisconnectRequest>(RequestHandlers.UserDisconnectRequestHandler);

            #endregion

            Console.WriteLine("Started Listening");
            listener.StartListening();
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            NameValueCollection config = ConfigurationManager.AppSettings;

            int port = 0;

            try {
                port = int.Parse(config["Port"]);
            } catch (UriFormatException e) {
                Tools.logError($"Invalid Config Value: Port");
                Environment.Exit(1);
            }


            RequestListener requestListener = new RequestListener(config);

            try {
                requestListener.startListening(port);
            } catch (Exception e) {
                Tools.logError($"{e.Message} {e.StackTrace}");
            }
        }
Exemplo n.º 4
0
 public RequestListener(ushort port)
 {
     tcpListener = new TcpListener(IPAddress.Any, port);
     alerter     = this;
 }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            using (var context = new GameDb())
            {
                context.Database.Migrate();

                Console.WriteLine(context.Players.Count());
                foreach (var p in context.Players.Select(x => $"{x.Name} in {x.Location.Id}"))
                {
                    Console.WriteLine(p);
                }

                //Seed the database
                if (context.Rooms.Count() == 0)
                {
                    Room      room1 = new Room();
                    Room      room2 = new Room();
                    Equipment sword = new Equipment {
                        BaseValue = 1, Name = "Sword", Type = EquipmentType.Holdable
                    };

                    context.Add(room1);
                    context.Add(room2);
                    context.Add(sword);


                    context.SaveChanges();

                    DamageSkill swing = new DamageSkill
                    {
                        Cooldown    = 1,
                        Damage      = 10,
                        Description = "You swing your sword at your enemy",
                        Name        = "Swing",
                        Item        = sword
                    };
                    context.Add(swing);

                    room1.Interactables.Add(new Path {
                        LeadsTo = context.Rooms.Find(room2.Id)
                    });
                    room2.Interactables.Add(new Path {
                        LeadsTo = context.Rooms.Find(room1.Id)
                    });
                    room2.Interactables.Add(new OptionalCombat {
                        RoomId = room2.Id
                    });


                    context.SaveChanges();

                    startingRoomId = room1.Id;
                    testSwordId    = sword.Id;
                }
                else
                {
                    startingRoomId = context.Rooms.FirstOrDefault().Id;
                    testSwordId    = 1;
                }
            }

            RequestListener listener  = new RequestListener(5723);
            var             configure = listener.Configure();

            configure.BuildDependencies(services =>
            {
                services.AddDbContext <GameDb>();
                services.AddSingleton <Authenticator>();
                services.AddSingleton <IAlerter>(listener);
                services.AddSingleton <Mediator>();
            });
            configure.AddMiddleware(new Debugger());
            configure.AddInteractionHandler <InteractionHandler>();
            AddHandlers(configure);

            configure.StartListening();
        }