public KeyboardService(CoroutineService coroutineService) { //_lastKeyboardState = Microsoft.Xna.Framework.Input.Keyboard.GetState(); coroutineService.StartCoroutine(Update()); Instance = this; }
public MouseService(CoroutineService coroutineService) { coroutineService.StartCoroutine(Update()); _lastState = Mouse.GetState(); _position = _lastState.Position; _window = ServiceLocator.Instance.GetService<GameWindow>(); _graphics = ServiceLocator.Instance.GetService<GraphicsDevice>(); }
protected override void LoadContent() { Content.RootDirectory = Path.GetFullPath(Settings.DataFolder); Environment.CurrentDirectory = Path.GetFullPath(Settings.DataFolder); FastSpriteBatch = new FastSpriteBatch(GraphicsDevice); Services.AddService(FastSpriteBatch); Services.AddService(Content); Timer = new TimerService(); Services.AddService<ITimerService>(Timer); Coroutines = new CoroutineService(); Services.AddService<ICoroutineService>(Coroutines); Services.AddService(GraphicsDevice); SpriteBatch = new SpriteBatch(GraphicsDevice); Services.AddService(SpriteBatch); Keyboard = new KeyboardService(Coroutines); Services.AddService<IKeyboardService>(Keyboard); Services.AddService(Window); Mouse = new MouseService(Coroutines); Services.AddService<IMouseService>(Mouse); Services.AddService<IAnimationService>(new AnimationService(Coroutines, Timer)); Gui = new GuiService(); Services.AddService<IGuiService>(Gui); SpriteManager = new SpriteManagerService(Content); Services.AddService<ISpriteManagerService>(SpriteManager); ShapeManager = new ShapeManagerService(); Services.AddService<IShapeManagerService>(ShapeManager); Services.AddService(new SpaceBackgroundGeneratorService()); GalaxyGenerator = new GalaxyGeneratorService(); var testShips = new[] { "Ships/Jaeger.json", "Ships/Scimitar.json" } .Select(s => Persistence.LoadFromFile<Game.Ships.Ship>(s)) .ToList(); Game.Space.Star.LoadStellarClasses(); Galaxy = GalaxyGenerator.CreateGalaxy(); //ShipRefitScene = new ShipRefitScene(testShips); //ShipRefitScene.LoadContent(); MainMenuScene = new MainMenuScene(); MainMenuScene.LoadContent(); SystemMapScene = new SystemMapScene(Galaxy.StarSystems[0]); SystemMapScene.LoadContent(); //CurrentScene = MainMenuScene; //CurrentScene = SystemMapScene; MainGameScene = new MainGameScene(); MainGameScene.LoadContent(); CurrentScene = MainGameScene; CombatEntityFactory.LoadWeapons(); CombatEntityFactory.LoadProjectiles(); base.LoadContent(); }