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>(); }