public void CheckCollision(Lane[] lanes, Camera camera, int current) { for (int i = 0; i < characters.Length; i++) { if (characters[i] != null && !characters[i].isInvulnerable) { int checkingDepth = 10; int limit = lanes[i].obstacles.Count; if (limit > checkingDepth) limit = checkingDepth; for (int j = 0; j < limit; j++) { Obstacle obstacle = lanes[i].obstacles[current + j]; if (obstacle.Collides(characters[i].position, characters[i].collisionSize, camera.Position.X)) { if (obstacle.Type == ObstacleType.Breakable && characters[i].CurrentAction == Character.Action.Slash) { var breakable = (BreakableObstacle)obstacle; breakable.IsExploding = true; } else { characters[i].CurrentAction = Character.Action.Knockback; soundBank.PlayCue("Collision"); } } } } } }
public override void LoadContent(ContentManager Content) { //theme = Content.Load<Song>(@"Lumberjack Bustle\BennyHillTheme"); //victory = Content.Load<Song>(@"Lumberjack Bustle\ff4victory"); instruction.Load(Content); background = Content.Load<Texture2D>("Lumberjack Bustle/forestBackground"); background = Content.Load<Texture2D>("Lumberjack Bustle/ffBackground"); countdown = Content.Load<Texture2D>("Lumberjack Bustle/Countdown"); finish = Content.Load<Texture2D>("Lumberjack Bustle/finishline"); blackHole = Content.Load<Texture2D>("Lumberjack Bustle/blackHole"); //countdown = Content.Load<Texture2D>("Lumberjack Bustle/treeBackground.png"); font = Content.Load<SpriteFont>("Score"); seconds = 3; started = false; lanes = new Lane[4]; for (int i = 0; i < NUM_PLAYERS; i++) { lanes[i] = new Lane(); lanes[i].Initialize(new Vector2(0, i * Lane.HEIGHT), background, finish); } InitializeLanes(Content); playerManager.LoadContent(Content, START); currentObstacle = 0; }