示例#1
0
        private static void Main()
        {
            var kernel = new StandardKernel();

            LoadModules(kernel);

            var bundle = new CoreBundle(kernel);
            var ctx = new Context(kernel);

            // TODO: introduce a getUserNameCommand
            Console.WriteLine("Who are you?");
            ctx.PlayerName = Console.ReadLine();
            Console.Clear();

            var engine = new GnomEngine(ctx, bundle);

            engine.HandleUserInput("field");

            var view = GnomViewProvider.GetGnomView();
            var app = new GnomApp(view, view["restart"], new ConsoleManipulator(), x =>
            {
                if (x.PressedKeyInfo.Key == ConsoleKey.Escape)
                {
                    Console.SetCursorPosition(60, 25);
                    Environment.Exit(42);
                }
                else if (x.PressedKeyInfo.Key == ConsoleKey.Enter)
                {
                    engine.HandleUserInput((x.Target as IElement).Id);
                }
            });

            app.Start();
        }
示例#2
0
        public void TestInit()
        {
            var kernel = new StandardKernel();
            kernel.Bind<ILogger>().ToMethod(x => LogHelper.GetLogger());

            DependancyBinder.Instance
                .RegisterModules(
                                 new ModelsModule(kernel),
                                 new LogicModule(kernel),
                                 new ValidationModule(kernel),
                                 new HighscoreModule(kernel),
                                 new SaverModule(kernel),
                                 new SoundsModule(kernel),
                                 new CommandModule(kernel),
                                 new GnomModule(kernel))
                .LoadAll();

            var bundle = new CoreBundle(kernel);
            this.context = new Context(kernel);

            this.engine = new GnomEngine(this.context, bundle);
        }