// Update is called once per frame
    void Update()
    {
        if (displayingLeverMessage == false && inLeverRange == true && Vector3.Angle(camera.transform.forward, activeLever.transform.position - camera.transform.position) < 60)
        {
            displayingLeverMessage = true;
            activeLever.ToggleLeverText(true);
        }
        else if (displayingLeverMessage == true && inLeverRange == true)
        {
            if (Vector3.Angle(camera.transform.forward, activeLever.transform.position - camera.transform.position) < 60)
            {
                displayingLeverMessage = true;
                activeLever.ToggleLeverText(true);
            }
            else if (Vector3.Angle(camera.transform.forward, activeLever.transform.position - camera.transform.position) > 80)
            {
                displayingLeverMessage = false;
                activeLever.ToggleLeverText(false);
            }
        }
        else if (displayingLeverMessage == true && inLeverRange == false)
        {
            displayingLeverMessage = false;
            activeLever.ToggleLeverText(false);
            activeLever = null;
        }

        if (activeLever != null && activeLever.LeverIsActive == false && Input.GetKeyDown(KeyCode.E))
        {
            activeLever.ToggleLever();
        }
    }
 public override void Activate(LeverController lever)
 {
     if (!_moving)
     {
         _moving = true;
     }
 }
Exemple #3
0
    private void OnTriggerExit2D(Collider2D other)
    {
        if (other.CompareTag("Wheel"))
        {
            if (m_CurrentWheelController != null)
            {
                if (m_CurrentWheelController.currentPlayer == this)
                {
                    m_CurrentWheelController.repairInProgress = false;
                    m_CurrentWheelController.currentPlayer    = null;
                    m_CurrentWheelController = null;
                }
            }
        }

        if (other.CompareTag("Lever"))
        {
            if (m_LeverInUse)
            {
                if (m_CurrentLeverSpeed <= 1.2f)
                {
                    m_CurrentLeverController.leverSpeed -= m_CurrentLeverSpeed;
                    m_CurrentLeverSpeed = 0;
                }
                m_LeverInUse = false;
            }
            m_CurrentLeverController = null;
        }
    }
Exemple #4
0
 void OnTriggerExit2D(Collider2D coll)
 {
     if (coll.CompareTag("Lever") && _lever == coll.GetComponent <LeverController>())
     {
         _lever = null;
     }
 }
Exemple #5
0
 void OnTriggerEnter2D(Collider2D coll)
 {
     if (coll.CompareTag("Lever"))
     {
         _lever = coll.GetComponent <LeverController>();
     }
 }
Exemple #6
0
    void Update()
    {
        RaycastHit hit;
        Vector3    fwd = transform.TransformDirection(Vector3.forward);

        if (Physics.Raycast(transform.position, fwd, out hit, rayLength, layerMaskInteract.value))
        {
            if (hit.collider.CompareTag("Lever"))
            {
                raycasted_obj = hit.collider.gameObject;
                CrosshairActive();

                if (Input.GetKeyDown("e") && canPull)
                {
                    raycasted_obj.GetComponentInChildren <Animator>().Play("HandlePull", -1, 0.0f);
                    raycasted_obj.GetComponent <LeverScript>().LeverNumber();
                    leverController = raycasted_obj.GetComponentInParent <LeverController>();
                    StartCoroutine(Timer(1.0f));
                }
            }
        }

        else
        {
            CrosshairNormal();
        }
    }
Exemple #7
0
    private void ResetEquipment()
    {
        // Now we have to return the equipment back to its place.
        CanWearEquipment = false;

        // Once the new objective in the lab has been selected, we
        // reset the player's safety equipment, so that he has to
        // put it on in the level in order to practice it.
        PointerController.IsWearingCoat    = false;
        PointerController.IsWearingGlasses = false;
        PointerController.IsWearingGloves  = false;

        GameObject labCoat = GameObject.Find("Lab Coat");

        labCoat.GetComponent <Rigidbody>().isKinematic = true;
        labCoat.GetComponent <MeshRenderer>().enabled  = true;
        _player.GetComponentInChildren <PointerController>().ReturnEquipment();

        // We make sure that once the level is restarted, the lever will
        // return to its original position.
        GameObject      lever       = GameObject.FindGameObjectWithTag("Lever");
        LeverController leverScript = lever.GetComponent <LeverController>();

        LeverController.CanPushLever = true;
        if (leverScript.IsLeverDown)
        {
            leverScript.StartCoroutine(leverScript.PushLever(leverScript.IsLeverDown ? -leverScript.RotationMargin : leverScript.RotationMargin));
        }

        // This hides all the teleporters' direction pointers whenever
        // a new level begins.
        CenterEyePointer.ConcealTeleportersDirections();
    }
 void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Lever"))
     {
         inLeverRange = true;
         activeLever  = other.GetComponent <LeverController>();
     }
 }
Exemple #9
0
    // Use this for initialization
    void Start()
    {
        if (instance == null)
        {
            instance = this;
        }
        if (instance != this)
        {
            Destroy(gameObject);
        }

        start   = false;
        rotator = GetComponentInChildren <VRTK_SpringLever>();
    }
Exemple #10
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Wheel"))
        {
            m_CurrentWheelController = other.GetComponent <WheelController>();
            if (m_CurrentWheelController.currentPlayer == null)
            {
                m_CurrentWheelController.currentPlayer = this;
            }
        }

        if (other.CompareTag("Lever"))
        {
            m_CurrentLeverController = other.GetComponent <LeverController>();
        }
    }
Exemple #11
0
 public void CheckLevers(LeverController lever)
 {
     photonView.RPC("RpcCheckLevers", PhotonTargets.All, lever.photonView.viewID);
 }
 public override void Activate(LeverController lever)
 {
     throw new NotImplementedException();
 }
 public abstract void Activate(LeverController lever);