AR Design
UBC EML collab with UBC SALA - visualizing IoT data in AR
ButtonObjectScaler.cs
Go to the documentation of this file.
1 // Copyright (c) Microsoft Corporation. All rights reserved.
2 // Licensed under the MIT License. See LICENSE in the project root for license information.
3 
4 using UnityEngine;
5 
6 namespace HoloToolkit.Unity.InputModule.Tests
7 {
8  public class ButtonObjectScaler : MonoBehaviour
9  {
10  [SerializeField]
11  private TestButton button = null;
12 
13  [SerializeField]
14  private GameObject ObjectToScale = null;
15 
16  [SerializeField]
17  private float ScaleIncrement = 1.0f;
18 
19  [SerializeField]
20  private buttonAction ButtonAction = buttonAction.Reset;
21 
22  private enum buttonAction { Reset, Grow, Shrink };
23 
24  private Vector3 InitialScale;
25 
26  private void Start()
27  {
28  if (ObjectToScale)
29  {
30  InitialScale = ObjectToScale.transform.localScale;
31  }
32  }
33 
34  private void OnEnable()
35  {
36  button.Activated += OnButtonPressed;
37  }
38 
39  private void OnDisable()
40  {
41  button.Activated -= OnButtonPressed;
42  }
43 
44  private void OnButtonPressed(TestButton source)
45  {
46  if (ObjectToScale)
47  {
48  switch (ButtonAction)
49  {
50  case buttonAction.Reset:
51  Debug.Log(InitialScale);
52  ObjectToScale.transform.localScale = InitialScale;
53  break;
54  case buttonAction.Grow:
55  ObjectToScale.transform.localScale = new Vector3((ObjectToScale.transform.localScale.x + ScaleIncrement), (ObjectToScale.transform.localScale.y + ScaleIncrement), (ObjectToScale.transform.localScale.z + ScaleIncrement));
56  break;
57  case buttonAction.Shrink:
58  if ((ObjectToScale.transform.localScale.x - ScaleIncrement) < 0.0f)
59  {
60  ObjectToScale.transform.localScale = new Vector3(0, 0, 0);
61  }
62  else
63  {
64  ObjectToScale.transform.localScale = new Vector3((ObjectToScale.transform.localScale.x - ScaleIncrement), (ObjectToScale.transform.localScale.y - ScaleIncrement), (ObjectToScale.transform.localScale.z - ScaleIncrement));
65  }
66  break;
67  }
68  }
69 
70  button.Selected = false;
71  }
72  }
73 }
Test button that can be added to any object to make it gaze interactable and receive pressed and rele...
Definition: TestButton.cs:13