private void currentStructure_MouseDown(object sender, MouseButtonEventArgs e) { if (currentStructure.GetType() == typeof(Wall) && PlaceWall(currentStructure as Wall) || currentStructure is Turret && game.Grid.SnapObject(currentStructure)) { currentStructure.Place(); currentStructure.Model.MouseDown -= currentStructure_MouseDown; placedStructures.Push(currentStructure); if (game.PlayerCash >= currentStructure.Cost) { currentStructure = PurchaseStructure(currentStructure.GetType()); } else { currentStructure = null; } } }