private bool Collision(Fixture fixtureA, Fixture fixtureB, Contact contact) { AdditionalFixtureData additionalFixtureData = (AdditionalFixtureData)fixtureB.UserData; if (additionalFixtureData != null) { if (shouldDie) { return(true); } shouldDie = true; if (additionalFixtureData.type == HitboxType.ATTACK) { shouldDie = false; } else if (additionalFixtureData.physicParent is Projectile) { shouldDie = false; } else if (additionalFixtureData.physicParent is Totem) { shouldDie = false; } } return(true); }
private bool Collision(Fixture fixtureA, Fixture fixtureB, Contact contact) { AdditionalFixtureData additionalFixtureData = (AdditionalFixtureData)fixtureB.UserData; if (additionalFixtureData != null) { if (additionalFixtureData.physicParent is Blood) { if (Partner != null) { var oldpos = new Vector2(body.Position.X, body.Position.Y); body.Position = Partner.body.Position; Partner.body.Position = oldpos; } lifePoints -= 1; bloodSpawner.numberParticuleToPop += 1; bloodSpawner.canSpawn = true; } else if (additionalFixtureData.physicParent is LanceGobelin) { return(false); } } return(true); }
private bool Collision(Fixture fixtureA, Fixture fixtureB, Contact contact) { AdditionalFixtureData additionalFixtureData = (AdditionalFixtureData)fixtureB.UserData; if (additionalFixtureData != null) { if (additionalFixtureData.physicParent is LanceGobelin) { return(false); } } //else if return(true); }
private bool Collision(Fixture fixtureA, Fixture fixtureB, Contact contact) { AdditionalFixtureData additionalFixtureData = (AdditionalFixtureData)fixtureB.UserData; if (additionalFixtureData != null) { if (additionalFixtureData.physicParent is Blood) { lifePoints = 0; bloodSpawner.numberParticuleToPop += 1; bloodSpawner.canSpawn = true; } else if (additionalFixtureData.physicParent is LanceGobelin) { return(false); } } return(true); }