コード例 #1
0
    private void DropItem()
    {
        Debug.Log("Drop mehhhhh");

        if (playerState.playerState == PlayerStates.PlayerState.pHoldingOn)
        {
            HunkerDown other = this.GetComponentInParent <HunkerDown>();

            if (other != null)
            {
                other.ReleaseMast(this.gameObject);
            }
        }

        if (currentObject != null)
        {
            currentObject.DropItem();
        }
    }
コード例 #2
0
    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;
    }