public bool turtleSpinCollision(Fixture f1, Fixture f2, Contact contact) { Console.WriteLine(f2.Body.UserData); if (f1.UserData != null && f2.UserData != null) { Vector2 normal = Vector2.Zero; FixedArray2<Vector2> points; contact.GetWorldManifold(out normal, out points); char id = (char)f1.UserData; AnimatedSprite Coll; if (id == 'o') Coll = new AnimatedSprite(orange_coll_sprite, 2, 3, 4); else if (id == 'r') Coll = new AnimatedSprite(red_coll_sprite, 2, 3, 4); else if (id == 'b') Coll = new AnimatedSprite(blue_coll_sprite, 2, 3, 4); else if (id == 'p') Coll = new AnimatedSprite(purple_coll_sprite, 2, 3, 4); else Coll = new AnimatedSprite(orange_coll_sprite, 2, 3, 4); Coll.playOnce = true; Coll.position = ConvertUnits.ToDisplayUnits(points[0]); Coll.normal = ConvertUnits.ToDisplayUnits(f1.Body.Position) - Coll.position; spriteList.Add(Coll); } return true; }
private void GameLogic(GameTime gameTime) { if (oTurtle.isActive && checkKnockOut(oTurtle.position)) { oTurtle.Remove(); AnimatedSprite oDeath = new AnimatedSprite(death_sprite, 3, 3, 9); oDeath.playOnce = true; oDeath.position = oTurtle.position; spriteList.Add(oDeath); noOfInActive++; } if (rTurtle.isActive && checkKnockOut(rTurtle.position)) { rTurtle.Remove(); AnimatedSprite rDeath = new AnimatedSprite(death_sprite, 3, 3, 9); rDeath.playOnce = true; rDeath.position = rTurtle.position; spriteList.Add(rDeath); noOfInActive++; } if (bTurtle.isActive && checkKnockOut(bTurtle.position)) { bTurtle.Remove(); AnimatedSprite bDeath = new AnimatedSprite(death_sprite, 3, 3, 9); bDeath.playOnce = true; bDeath.position = bTurtle.position; spriteList.Add(bDeath); noOfInActive++; } if (pTurtle.isActive && checkKnockOut(pTurtle.position)) { pTurtle.Remove(); AnimatedSprite pDeath = new AnimatedSprite(death_sprite, 3, 3, 9); pDeath.playOnce = true; pDeath.position = pTurtle.position; spriteList.Add(pDeath); noOfInActive++; } if (noOfInActive == 3) { if (rTurtle.isActive) { winner = "Red Wins"; } else if (oTurtle.isActive) { winner = "Orange Wins"; } else if (bTurtle.isActive) { winner = "Blue Wins"; } else if (pTurtle.isActive) { winner = "Purple Wins"; } gameFinished = true; } }