public override void HandleCollision(CollisionDirection collisionDirection, GameObject gameObject) { if (gameObject is Koopa || gameObject is Goomba || gameObject is PiranhaPlant || gameObject is Bowser || gameObject is BowserFireball) { if (selectedCube == this) { selectedCube = null; } this.collidable = false; Systems.Events.TheInstance.CompanionDied(); } else if (collisionDirection == CollisionDirection.Bottom && gameObject.IsSolid) { this.YSpeed = gameObject.YSpeed; } }
public static void SelectCube() { selectedCube = null; int marioX = Mario.GetInstance().GetCenter().X; int marioY = Mario.GetInstance().GetCenter().Y; foreach (CompanionCube cube in cubes) { if (cube.IsCollidable && MouseController.MouseOverPosition(cube.GetHitBox())) { if ((marioX - cube.positionInGame.X) * (marioX - cube.positionInGame.X) + (marioY - cube.positionInGame.Y) * (marioY - cube.positionInGame.Y) < 10000) { selectedCube = cube; } } } }