private void OnTriggerExit(Collider other)
    {
        if (other.tag == "Edge" && playerState.playerState == PlayerStates.PlayerState.pBucket)
        {
            bucketStates.currentState = BucketStates.BucketState.Held;
        }

        if (currentObject != null)
        {
            currentObject.Deactivate();
        }

        if (touchedInteractable != null)
        {
            touchedInteractable.Deactivate();
        }

        touchedInteractable = null;
        touchedGameObject   = null;
    }
    public void PlayWhaleParticles() //remember during testing - if players array is not correct size, for loop will not complete and whale will get stuck in active state
    {
        screenShake.mediumShake = true;
        screenShake.shouldShake = true;

        whalePS.Play();

        for (int i = 0; i < players.Length; i++)
        {
            float randomForceX = Random.Range(-20, 20);
            float randomForceY = Random.Range(100, 225);
            float randomForceZ = Random.Range(20, 75);
            float randomTorque = Random.Range(250, 666);

            if (players[i].GetComponent <PlayerStates>().playerState == PlayerStates.PlayerState.pHoldingOn)
            {
                //you are holding on, you are safe
                continue;
            }
            else
            {
                //you are not holding on, you gonna dieeeee
                players[i].GetComponent <Rigidbody>().constraints  = RigidbodyConstraints.None;
                players[i].GetComponent <PlayerMovement>().enabled = false;
                players[i].GetComponent <Rigidbody>().AddForceAtPosition(new Vector3(randomForceX, randomForceY, randomForceZ), players[i].transform.position, ForceMode.Impulse);
                players[i].GetComponent <Rigidbody>().AddRelativeTorque(new Vector3(500, 225, 600));

                InteractableObjs interactable = players[i].GetComponentInChildren <InteractableObjs>();
                if (interactable != null)
                {
                    interactable.DropItem();
                }

                players[i].GetComponent <PlayerStates>().playerState = PlayerStates.PlayerState.pWhaled;
            }
        }

        whaleStates = WhaleStates.exiting;
    }
 private void OnTriggerEnter(Collider col)
 {
     touchedInteractable = col.gameObject.GetComponent <InteractableObjs>();
     touchedGameObject   = col.gameObject;
 }
 private void OnTriggerExit(Collider other)
 {
     interactable = null;
 }
 private void OnTriggerEnter(Collider other)
 {
     interactable = other.GetComponent <InteractableObjs>();
 }