/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. TexManager = new TextureManager(Content, GraphicsDevice); spriteBatch = new SpriteBatch(GraphicsDevice); Background = Content.Load <Texture2D>("Art\\light_sand_template"); //testLevel = new GameLevel(background); this.Window.Position = new Point((graphics.PreferredBackBufferHeight - Background.Height) / 2, (this.graphics.PreferredBackBufferWidth - Background.Width) / 2); graphics.PreferredBackBufferHeight = Background.Height / 4 * 3; graphics.PreferredBackBufferWidth = Background.Width / 4 * 3; graphics.ApplyChanges(); Texture2D circle = Content.Load <Texture2D>("circle"); Sphere = new AnimatedGameObject(circle, new Vector2(50, 50)); DebugAnimation = new Animation(TexManager["ExplosionOneRed"], 20); DebugAnimation.Looping = true; DebugAnimation.Begin(); TexManager.requestTextureLoad("ExplosionThreeRed"); TexManager.requestTextureLoad("ExplosionThreeBlue"); TexManager.requestTextureLoad("BasicTower"); TexManager.requestTextureLoad("BasicCreep"); TexManager.requestTextureLoad("light_sand_template"); TexManager.requestTextureLoad("BulletSprites"); TexManager.BeginLoadTextures(); // Loader.WriteStandardizedTextures(); while (TexManager.LoadingTextures == true) { ; } TexManager.SplitLaserTexture(); // While we wait for everything to load - until I implement a proper loading screen // Just spin DebugCreep = new Creep(new Animation(TexManager["BasicCreep"], 1), new Vector2(100, 100), new Vector2(20f, 20f), 20); DebugCreep.RotationZero = new Vector2(0, -1); DebugCreep2 = new Creep(DebugCreep.Animations[0], new Vector2(200, 100), new Vector2(50f, 50f), 20); DebugCreep2.RotationZero = new Vector2(0, -1); DebugTower = new Tower(new Animation(TexManager["BasicTower"], 1), new Vector2(200, 400), 50, .1f); DebugTower.AttackType = Projectile.DebugProjectile; MainEntityManager.AddCreep(DebugCreep); MainEntityManager.AddTower(DebugTower); MainEntityManager.AddCreep(DebugCreep2); PlayerInputHandler.MouseMovement += MainEntityManager.GetMousePos; }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } PlayerInputHandler.HandleInput(); // TODO: Add your update logic here Sphere.Update(gameTime); DebugAnimation.Update(gameTime); foreach (AnimatedGameObject a in SpawnedAnimations) { a.Update(gameTime); } DebugRotation += .01f; MainEntityManager.Update(gameTime); SpawnedAnimations = SpawnedAnimations.Where <AnimatedGameObject>(x => x.Animations[0].Active == true).ToList <AnimatedGameObject>(); if (TexManager.WaitingRequestedTextures() > 0) { TexManager.BeginLoadTextures(); } base.Update(gameTime); }