public void destructableTerrainCollision(DestructableTerrain terrain) { if(terrain.getCollidingPixal(position, radius).Count > 4){ terrain.damage(position, 3, GameLibrary.Global.Graphics.airColor); alive = false; } }
public void destructableTerrainCollision(DestructableTerrain terrain) { if (terrain.getCollidingPixal(position, radius).Count > 4) { terrain.damage(position, 3, GameLibrary.Global.Graphics.airColor); alive = false; } }
public void customUser() { if (MOUSE.RightClicked) { explosions.Add(new Explosion(camera.mouseWC, 10, fireballs)); } if (KEYBOARD.KeyDown(Keys.I)) { DestructableTerrain d = new DestructableTerrain(camera.mouseWC, Graphics.CreateTexture2D(50, 50, Color.Black, Color.Black)); environment.Add(d); environment.partitionObject(d); } }
public DemoLevel() : base() { initialiseTeams(); gun = new GenericGun(Vector2.Zero, new Animation(Res.pistol)); player = createGeneric(Vector2.Zero, blueTeam, Color.Blue); player.weapon = gun; blueTeam.characters.Add(player); genericObjects.Add(gun); spawnCharacters(10); spawnDestructableEnvironment(10, 100, 100); // spawnSolidEnvironment(10, 200, 200); spawnBackground(10); gun.muzzleVelocity = 10; DestructableTerrain test = new DestructableTerrain(new Vector2(10, 0), Graphics.dictionary[Res.crate]); List <Vector2> list = test.getVectorCollisions(new Vector2(10, 5), 1); }
public DemoLevel() : base() { initialiseTeams(); gun = new GenericGun(Vector2.Zero, new Animation(Res.pistol)); player = createGeneric(Vector2.Zero, blueTeam, Color.Blue); player.weapon = gun; blueTeam.characters.Add(player); genericObjects.Add(gun); spawnCharacters(10); spawnDestructableEnvironment(10, 100, 100); // spawnSolidEnvironment(10, 200, 200); spawnBackground(10); gun.muzzleVelocity = 10; DestructableTerrain test = new DestructableTerrain(new Vector2(10, 0), Graphics.dictionary[Res.crate]); List<Vector2> list = test.getVectorCollisions(new Vector2(10, 5), 1); }
public void destructableTerrainCollision(DestructableTerrain terrain) { List<Vector2> collisions = terrain.getVectorCollisions(position, (int)radius); if (collisions.Count < 10) { return; } for (int i = 0; i < collisions.Count; i++) { float distance = Vector2.Distance(collisions[i], position); if (distance < radius) { float difference = radius - distance; Vector2 relative = collisions[i] - position; float perc = 1 - difference / radius; Vector2 correct = new Vector2(relative.X * perc, relative.Y * perc); position -= correct; } } }
public void destructableTerrainCollision(DestructableTerrain terrain) { explode(); }