private void PlaceCurrent() { if (!CurrentPlaceable) { return; } if (CurrentPlaceable.Price > SpendAmount) { GameManager.Instance.Ui.ShowError("NUH-UH", "You can't afford that!", 3f); return; } var testCollider = CurrentPlaceable.GetComponentInChildren <BoxCollider2D>(); if (testCollider) { testCollider.enabled = true; Collider2D[] results = new Collider2D[1]; var amount = testCollider.OverlapCollider( new ContactFilter2D { useLayerMask = true, layerMask = PlaceCheckMask }, results); if (amount > 0) { testCollider.enabled = false; GameManager.Instance.Ui.ShowError("NO WAY", "You need a clear space to put down furniture!", 3); return; } testCollider.enabled = false; } SpendAmount -= CurrentPlaceable.Price; var placeable = Instantiate(CurrentPlaceable); placeable.IsBeingPlaced = false; var sprite = placeable.GetComponentInChildren <SpriteRenderer>(); if (sprite) { sprite.color = sprite.color.WithAlpha(1); } placeable.transform.position = GridHelper.Instance.Align(PlaceAnchor.position); var realCollider = placeable.GetComponentInChildren <BoxCollider2D>(); if (realCollider) { realCollider.enabled = true; } Destroy(CurrentPlaceable.gameObject); CurrentPlaceable = CreateGhostPlaceable(GameManager.Instance.Placeables[CurrentPlaceableIndex]); }