private void OnTriggerStay(Collider col)
    {
        GroundCubeController groundCubeController = gameObject.transform.parent.GetComponentInChildren <GroundCubeController>();

        if (col.gameObject.tag == "Player")
        {
            groundCubeController.hasPlayer = triggerCollider.bounds.Contains(col.gameObject.transform.position);
            groundCubeController.ChangeColor();
        }
    }
    private void OnTriggerExit(Collider col)
    {
        GroundCubeController groundCubeController = gameObject.transform.parent.GetComponentInChildren <GroundCubeController>();

        if (col.gameObject.tag == "Player")
        {
            groundCubeController.hasPlayer = false;
            groundCubeController.ChangeColor();
        }
        //Debug.Log("entered");
    }
    void Update()
    {
        // todo: move to start
        GroundCubeController groundCubeController = gameObject.transform.parent.GetComponentInChildren <GroundCubeController>();

        if (groundCubeController.isFalling)
        {
            triggerCollider.isTrigger = false;
        }
        else
        {
            triggerCollider.isTrigger = true;
        }
    }
    private void OnTriggerEnter(Collider col)
    {
        triggerCollider = gameObject.GetComponent <BoxCollider>();
        GroundCubeController groundCubeController = gameObject.transform.parent.GetComponentInChildren <GroundCubeController>();

        if (col.gameObject.tag == "Player")
        {
            groundCubeController.hasPlayer = triggerCollider.bounds.Contains(col.gameObject.transform.position);
            groundCubeController.ChangeColor();
        }


        if (col.gameObject.tag == "Bullet" && !groundCubeController.hasPlayer)
        {
            groundCubeController.isFalling = true;
            groundCubeController.StartCoroutine(groundCubeController.Respawn());
        }
    }