Exemple #1
0
    void Update()
    {
        doorScript = doorObj.GetComponent <DoorScript> ();

        distance = Vector3.Distance(this.transform.position, player.transform.position);

        RaycastHit hit;
        bool       isLookedAt = GetComponent <Collider>().Raycast(head.Gaze, out hit, Mathf.Infinity);

        Debug.Log(keypadActive);
        if (isLookedAt && distance < 2)
        {
            //player is in range to do something!
            if (keypadActive)
            {
                //pad = active; door = unlocked //never happens.
                //pad = active; door = locked
                GetComponent <Renderer> ().material.color = Color.green;
                interacting = true;
                if (doorScript.isLocked())
                {
                    if (Cardboard.SDK.CardboardTriggered)
                    {
                        doorScript.unlock();
                        doorScript.openDoors(GameObject.Find("Head").GetComponent <Collider>());
                        keypadActive = false;
                    }
                }
            }
            else
            {
                //pad = inactive; door = unlocked //completed state.
                if (!doorScript.isLocked())
                {
                    GetComponent <Renderer> ().material.color = Color.white;
                    return;
                }

                //pad = inactive; door = locked
                GetComponent <Renderer> ().material.color = Color.red;
                interacting = true;
            }
        }
        else
        {
            GetComponent <Renderer> ().material.color = Color.white;
            interacting = false;
        }
    }