public override void Initialize() { System.Console.WriteLine("Menu:Initialize"); this.traverser = new MenuTraverser(this.root); menuInputController = Game.Services.GetService(typeof(IMenuInputService)) as IMenuInputService; menuInputController.menuAction += this.traverser.OnMenuAction; menuInputController.cursorAction += this.traverser.onCursorAction; menuInputController.kinectAction += this.traverser.onKinectAction; menuInputController.start(); this.gameLogic = Game.Services.GetService(typeof(IGameLogicService)) as IGameLogicService; this.renderer = Game.Services.GetService(typeof(IRendering3DService)) as IRendering3DService; base.Initialize(); spriteBatch = new SpriteBatch(GraphicsDevice); }
public override void Initialize() { IGameLogicService gameLogic = Game.Services.GetService(typeof(IGameLogicService)) as IGameLogicService; this.exit.actionPerformed += gameLogic.OnBackToMenu; this.resume.actionPerformed += gameLogic.OnResumeGame; this.save.actionPerformed += gameLogic.OnSaveGame; base.Initialize(); this.menuInputController = Game.Services.GetService(typeof(IMenuInputService)) as IMenuInputService; menuInputController.cursorAction += this.traverser.onCursorAction; menuInputController.kinectAction += this.traverser.onKinectAction; menuInputController.menuAction += this.traverser.OnMenuAction;//(MenuTraverser.Actions action) => this.traverser.OnMenuAction(action); ; menuInputController.start(); spriteBatch = new SpriteBatch(GraphicsDevice); //Game.Components.Add(new MenuInputController(this.game)); }
protected override void Dispose(bool disposing) { IMenuInputService menuInputController = Game.Services.GetService(typeof(IMenuInputService)) as IMenuInputService; if (menuInputController != null) { menuInputController.menuAction -= this.traverser.OnMenuAction; menuInputController.cursorAction -= this.traverser.onCursorAction; menuInputController.kinectAction -= this.traverser.onKinectAction; menuInputController.pause(); } IGameLogicService gameLogic = Game.Services.GetService(typeof(IGameLogicService)) as IGameLogicService; if (gameLogic != null) { this.exit.actionPerformed -= gameLogic.OnBackToMenu; this.resume.actionPerformed -= gameLogic.OnResumeGame; this.save.actionPerformed -= gameLogic.OnSaveGame; } Game.Services.RemoveService(typeof(IGameMenuService)); base.Dispose(disposing); }