public void Shoot(int damage, Rectangle shootRect, ParticleEngine particleEngine) { foreach (EnemyObject enemyO in enemyList) { killBullet = enemyO.GetHit(damage, shootRect, game, particleEngine); //Får in bulletRect från Bullet och kollar varje enemyO ifall den träffar någon, har den här för det är här enemyList är if (killBullet) { break; } } }
public bool GetHit(int damage, Rectangle bulletRect, Game1 game, ParticleEngine particleEngine) { if (bulletRect.Intersects(enemyRectPos)) { particleEngine.EmitterLocation = new Vector2(enemyRectPos.X, enemyRectPos.Y); //Ritar ut super duber Matrix effekter när en fiende blir träffad av ett skott, har det för att det är Krav hp -= damage; game.KillBullet(); Console.WriteLine("HP: " + hp); return(true); } return(false); }
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); }