protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); spriteSheet = Content.Load <Texture2D>("spriteSheet"); spriteFont = Content.Load <SpriteFont>("spriteFont"); textures.Add(Content.Load <Texture2D>("explosion")); //har den seperat så att jag kan lägga in den i particleEngine (Ett krav att man skulle ha med en sådan) particleEngine = new ParticleEngine(textures, new Vector2(1000000, 1000000)); //Följ tutorian för detta, skrev bara rakt av från den och ändrade några värden på slutet towerM = new TowerManager(spriteSheet); path = new SimplePath(graphics.GraphicsDevice); path.Clean(); //Spline sak, gör så att du inte har en spiral i mitten gameState = GameState.MainMenu; //Tänkt att den skulle börja om när man var klar men spline gjorde så att jag inte kunde börja om... men att börja om var inte krav, bara att det skulle avslutas när x antal waves var klara eller hp <= 0 HPText = "HP: " + HP; coinsText = ""; activeSplineX = 75; //startvärdet, behövs ritas ut av någon anledning, man kan lösa detta med att i Spline ha roadRectList.Count <= 1 istället för roadRectList.Any() men orkade inte bry mig activeSplineY = 125; coins = 100; HP = 100; grassPosList = GetPos('-', currentLevel); //Ritar ut gräs på alla rutor som har värdet '-' kolla text filen för att se det foreach (Vector2 pos in grassPosList) { grassO = new GrassObject(spriteSheet, pos); gameList.Add(grassO); } roadPosList = GetPos('r', currentLevel); foreach (Vector2 pos in roadPosList) { roadO = new RoadObject(spriteSheet, pos); gameList.Add(roadO); roadRect = new Rectangle((int)pos.X + 25, (int)pos.Y + 25, 50, 50); roadRectList.Add(roadRect); //La in det i en seperat lista för att kunna ha det som en counter samt se till att ingen roadRect missades vid spline ritningen } towerHUDList = GetPos(' ', currentLevel); foreach (Vector2 pos in towerHUDList) { towerM.TowerHUD(pos); } Spline(); //Tar er till min spline algoritm! waveM = new WaveManager(spriteSheet, this, towerM); }
public void Update(GameTime gameTime, Vector2 newPos, Game1 game, WaveManager waveM, TowerManager towerM) { pos = newPos; posSpeed += speed; //Magi som gör så att den rör sig via spline... enemyRectPos.X = (int)pos.X - 25; enemyRectPos.Y = (int)pos.Y - 20; towerM.enemyPos(pos); //skrickar pos till towerM som sen skickar den till towerO för att se om de är i range if (enemyRectPos.Contains(endPos)) { game.TakeDamage(damage); waveM.KillEnemy(); } if (hp <= 0) { game.coins += 10 - 5 * ID; //Får pengar när man dödar en fiende waveM.KillEnemy(); } }