void Update()
 {
     if (active)
     {
         if (toActivate == WhatToActivate.door)
         {
             rotateOpen.Open();
         }
         else if (toActivate == WhatToActivate.elevator && elevator != null)
         {
             elevator.active = true;
         }
     }
     else
     {
         if (toActivate == WhatToActivate.door)
         {
             rotateOpen.Close();
         }
         else if (toActivate == WhatToActivate.elevator && elevator != null)
         {
             elevator.active = false;
         }
     }
 }
示例#2
0
    private void Update()
    {
        // Add snap force
        if (transform.localEulerAngles.z < angle && transform.localEulerAngles.z > snapAngle && !flipped)
        {
            //Debug.Log("add torque" + transform.localEulerAngles.z);
            GetComponent <Rigidbody>().AddTorque(transform.forward * snapForce);
        }

        // Z direction for rotation
        if (transform.localEulerAngles.z < 40 && transform.localEulerAngles.z > angle && !flipped)
        {
            doorSound.Play();
            switchSound.Play();

            flipped = true;
            if (setCheckpoint)
            {
                gameManager.EnterLevel(m_NextLevel);
            }
        }
        else if (transform.localEulerAngles.z > (300f + angle) && flipped && canFlipBack)
        {
            flipped = false;
        }

        // Open/close door/drawbridge
        if (flipped)
        {
            rotateOpen.Open();
        }
        else if (canFlipBack)
        {
            rotateOpen.Close();
        }
    }