Advertisement
Selzier

Untitled

Jan 25th, 2016
2,466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.85 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class RadialCutoutMenu : MonoBehaviour {
  5.  
  6.     // How long to look at Menu Item before taking action
  7.     public float timerDuration = 2f;
  8.  
  9.     // This value will count down from the duration
  10.     private float lookTimer = 0f;
  11.  
  12.     // My renderer so I can set _Cutoff value
  13.     private Renderer myRenderer;
  14.  
  15.     // Box Collider
  16.     private BoxCollider myCollider;
  17.  
  18.     // Is player looking at me?
  19.     private bool isLookedAt = false;
  20.  
  21.     // MonoBehaviour Start
  22.     void Start() {
  23.         // My Collider
  24.         myCollider = GetComponent<BoxCollider>();
  25.         // Get my Renderer
  26.         myRenderer = GetComponent<Renderer>();
  27.         // Set cutoff
  28.         myRenderer.material.SetFloat("_Cutoff", 0f);
  29.     }
  30.    
  31.     // MonoBehaviour Update
  32.     void Update() {
  33.         // While player is looking at me
  34.         if (isLookedAt) {
  35.             // Reduce Timer
  36.             lookTimer += Time.deltaTime;
  37.  
  38.             // Set cutoff value on material to value between 0 and 1
  39.             myRenderer.material.SetFloat("_Cutoff", lookTimer / timerDuration);
  40.  
  41.             if (lookTimer > timerDuration) {
  42.                 // Reset timer
  43.                 lookTimer = 0f;
  44.    
  45.                 // disable collider
  46.                 myCollider.enabled = false;
  47.  
  48.                 // Do something
  49.                 Debug.Log("BUTTON HAS BEEN SELECTED!");
  50.  
  51.                 // Disappear
  52.                 gameObject.SetActive(false);
  53.             }    
  54.         }  else {
  55.             // Reset Timer
  56.             lookTimer = 0f;
  57.             // Reset Cutoff
  58.             myRenderer.material.SetFloat("_Cutoff", 0f);
  59.         }
  60.     }
  61.  
  62.     // Google Cardboard Gaze
  63.     public void SetGazedAt(bool gazedAt) {
  64.         // Set the local bool to the one passed from Event Trigger
  65.         isLookedAt = gazedAt;
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement