AR Design
UBC EML collab with UBC SALA - visualizing IoT data in AR
SpriteButton.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.Buttons
7 {
11  [RequireComponent(typeof(SpriteRenderer))]
12  public class SpriteButton : Button
13  {
17  [Header("Sprite Button")]
18  [Tooltip("Button State information")]
22 
23 
24  private SpriteRenderer _renderer;
25 
32  public override void OnStateChange(ButtonStateEnum newState)
33  {
34  if (_renderer == null)
35  _renderer = this.GetComponent<SpriteRenderer>();
36 
37  if (ButtonStates[(int)newState].ButtonSprite != null)
38  {
39  _renderer.sprite = ButtonStates[(int)newState].ButtonSprite;
40  _renderer.color = ButtonStates[(int)newState].SpriteColor;
41  }
42 
43  if (this.transform.localScale != ButtonStates[(int)newState].Scale)
44  this.transform.localScale = ButtonStates[(int)newState].Scale;
45 
46  base.OnStateChange(newState);
47  }
48  }
49 }
Sprite ButtonSprite
Button sprite for new state
ButtonStateEnum
State enum for buttons.
Sprite button is a sprite renderer interactable with state data for button state
Definition: SpriteButton.cs:12
override void OnStateChange(ButtonStateEnum newState)
Callback override function to change sprite, color and scale on button state change ...
Definition: SpriteButton.cs:32
Vector3 Scale
New scale for button state