public static void Main() { Logger.Info("Start initialization."); var kernel = new StandardKernel(); // TODO: create logger module kernel.Bind<ILogger>().ToMethod(x => LogHelper.GetLogger()); DependancyBinder.Instance .RegisterModules( new ModelsModule(kernel), new LogicModule(kernel), new ValidationModule(kernel), new CommandModule(kernel), new HighscoreModule(kernel), new SaverModule(kernel), new ConsoleModule(kernel)) .LoadAll(); var ctx = new Context(kernel); var bundle = new ConsoleBundle(kernel); // TODO: extract in a module bundle.CommandFactory.RegisterCommand("exit", () => new ExitCommand()); var engine = new ConsoleEngine(ctx, bundle); Logger.Info("Starting the game."); engine.Run(); }
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(); }
/// <summary> /// This override sets up the balloons app. /// </summary> /// <param name="e"></param> protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var kernel = new StandardKernel(); kernel.Bind<ILogger>().ToMethod(x => LogHelper.GetLogger()); DependancyBinder.Instance .RegisterModules( new ModelsModule(kernel), new LogicModule(kernel), new ValidationModule(kernel), new WpfCommandModule(kernel), new HighscoreModule(kernel), new SaverModule(kernel), new WpfModule(kernel), new SoundsModule(kernel)) .LoadAll(); var bundle = new WpfBundle(kernel); var ctx = new Context(kernel); var engine = new EventEngine(ctx, bundle); this.engine = engine; bundle.Gui.Show(); }