public override void HandleInput(BaseTower entity, InputEvent inputEvent) { if (!(inputEvent is InputEventMouseButton) || !inputEvent.IsActionReleased("picked_up")) { return; } var canPlace = entity.CanPlaceTower(); if (canPlace) { var purchased = GameInfo.GameCurrency.PurchaseTower(entity); if (purchased) { entity.TowerStateMachine.ChangeState(Idle); } else { entity.SetForDeletion(); } } else { entity.SetForDeletion(); } }