private void CheckPowerShapePlacement()
    {
        Vector3 casePos  = transform.position;
        Vector3 mousePos = Input.mousePosition;

        isMouseOnGridCaseTMP = false;

        if (mousePos.x >= casePos.x - rect.width * SharedData.GetScreenRatio() / 2 &&
            mousePos.x <= casePos.x + rect.width * SharedData.GetScreenRatio() / 2 &&
            mousePos.y >= casePos.y - rect.height * SharedData.GetScreenRatio() / 2 &&
            mousePos.y <= casePos.y + rect.height * SharedData.GetScreenRatio() / 2)
        {
            isMouseOnGridCaseTMP = true;

            if (currentPowerShape != null)
            {
                if (currentPowerShape.GetComponent <PowerShape>().NumberOfCollisionWithOtherPowerShapes <= 0 &&
                    currentPowerShape.GetComponent <PowerShape>().NumberOfCollisionWithGridLimits <= 0 &&
                    currentPowerShape.GetComponent <PowerShape>().CanBePlacedOnInventory())
                {
                    currentPowerShape.transform.position = casePos;
                    IsPowerShapeOnCase = true;
                }
                else
                {
                    IsPowerShapeOnCase = false;
                }
            }
        }
        else
        {
            if (currentPowerShape != null)
            {
                IsPowerShapeOnCase = false;
            }
        }
    }