Ejemplo n.º 1
0
        public Server()
        {
            wait    = new AutoResetEvent(false);
            Current = this;
            Random  = new Random();

            // Create services
            ConnectionListener = new ConnectionListener(Port);
            ConnectionMonitor  = new ConnectionMonitor();
            SessionMonitor     = new SessionMonitor();
            Database           = new Database(DataDir);
            CommandLookup      = new DynamicCommandLookup();
            Areas         = Database.GetAll <Area>();
            CombatSkills  = Database.GetAll <CombatSkill>();
            RepopHandler  = new RepopHandler(TickTime);
            CombatHandler = new CombatHandler(CombatTickRate);
            RegenHandler  = new RegenHandler(RegenTime);
            AgeHandler    = new AgeHandler(AgeTime);
            OpenTrades    = new Dictionary <Session, string>();

            // Setup services
            ConnectionListener.ConnectionHandler = new StartupConnectionHandler(ConnectionMonitor, SessionMonitor);

            Console.WriteLine("listening on port {0}...", Port);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Chain of Work!");
            ///1.Promotes decoupling of Request from Handler object
            ///2.When a requet belongs to several different categories,so.
            ///it will either process the request or send to the next handler.

            ///The below example demonstrates validating object in multiple steps
            Person person = new Person()
            {
                Name   = "Tanuja",
                Age    = 30,
                Income = 200
            };

            Request request = new Request()
            {
                Data = person
            };
            NameHandler   nameHandler   = new NameHandler();
            AgeHandler    ageHandler    = new AgeHandler();
            IncomeHandler incomeHandler = new IncomeHandler();

            nameHandler.SetNextHandler(ageHandler);
            ageHandler.SetNextHandler(incomeHandler);

            nameHandler.Process(request);

            foreach (string item in request.ValidationMessages)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
Ejemplo n.º 3
0
        public void Start()
        {
            if (running)
            {
                throw new InvalidOperationException("Server already running");
            }

            running = true;
            ConnectionListener.Start();
            RepopHandler.Start();
            CombatHandler.Start();
            RegenHandler.Start();
            AgeHandler.Start();

            DoLoop();
        }