public void UpdateState()
    {
        //Cosmo must be selected
        if (cosmo.is_selected == false)
        {
            CancelPortalCreation();
            return;
        }

        if (Input.GetAxis("Ability2") != 0)
        { //Ability 2 pressed
            //Update walkable zone on mouse position
            if (AbleToBuild())
            {
                build_portal_mat.color = build_zone_col;
                //Check build order
                if (Input.GetMouseButtonUp(1))
                {
                    bool finish = portal_controller.BuildPortal(build_portal.transform.position);

                    if (finish)
                    {
                        CancelPortalCreation();
                    }
                    else
                    {
                        cosmo.cooldown_inst.StartCooldown(2); //Start the cooldown after create the first portal
                    }
                }
            }
            else
            {
                build_portal_mat.color = no_build_col;
            }
        }
        else
        { //Released
            CancelPortalCreation();
        }
    }