Skip to content
Snippets Groups Projects
ToolModeText.cs 1.73 KiB
Newer Older
  • Learn to ignore specific revisions
  • using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class ToolModeText : MonoBehaviour
    {
        private bool timerActive { get; set; }
        private float timer { get; set; }
        private float timerDuration = 3.0f;
    
        // Start is called before the first frame update
        void Start()
        {
    
            //Show the Text that the MarkPointMode is active on startup
    
            gameObject.GetComponentInChildren<UnityEngine.UI.Text>().CrossFadeAlpha(0.0f, 0.0f, false);
            gameObject.GetComponentInChildren<UnityEngine.UI.Text>().CrossFadeAlpha(1.0f, 0.9f, false);
            this.timerActive = true;
            this.timer = 0;
            CommunicationEvents.ToolModeChangedEvent.AddListener(OnToolModeChanged);
        }
    
        // Update is called once per frame
        void Update()
        {
            //If the Timer is Active, check if timerDuration is reached and set the Text inactive
            if (this.timerActive)
            {
                this.timer += Time.deltaTime;
                if (this.timer >= this.timerDuration)
                {
                    //gameObject.SetActive(false);
                    gameObject.GetComponentInChildren<UnityEngine.UI.Text>().CrossFadeAlpha(0.0f, 0.3f, false);
                    this.timerActive = false;
                    this.timer = 0;
                }
            }
        }
    
        void OnToolModeChanged(ToolMode ActiveToolMode) {
    
            //When ToolMode changes: Start a new Timer for showing up the Text for it
            gameObject.GetComponentInChildren<UnityEngine.UI.Text>().text = "ToolMode = " + ActiveToolMode;
            //gameObject.SetActive(true);
            gameObject.GetComponentInChildren<UnityEngine.UI.Text>().CrossFadeAlpha(1.0f, 0.3f, false);
            this.timerActive = true;
            this.timer = 0;
        }
    }