1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System.Collections;
- using System.Collections.Generic;
- using ChivaXR.Op;
- using UnityEngine;
- using UnityEngine.Events;
- using UnityEngine.UI;
- public class OpTrigger_OperationButtonClick : OperationData_TriggerMode
- {
- [SerializeField]
- private Button m_ClickButton;
-
- [SerializeField]
- private UnityEvent m_ClickUnityEvent;
- [SerializeField]
- private UnityEvent m_PrimitiveUnityEvent;
-
- private bool m_IsClicked;
- /// <summary>
- /// 学习模式延迟提示高亮时长
- /// </summary>
- private float timer;
- public override void SetDataStateValue(float value)
- {
- switch (value)
- {
- case 0:
- m_ClickButton.GetComponent<Image>().color = new Color(1, 1, 1, 1);
- m_IsClicked = false;
- m_PrimitiveUnityEvent?.Invoke();
- break;
- case 1:
- m_ClickButton.GetComponent<Image>().color = new Color(1, 1, 1, 1);
- m_IsClicked = false;
- break;
- }
- }
- public override bool TriggerCondition()
- {
- if (OperateSetting.Instance.m_CurrentOperationMode == OperationMode.Learn)
- {
- HightColorEvent.ChangeImageAppha(m_ClickButton.GetComponent<Image>());
- timer += Time.deltaTime;
- if (timer > 1)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- if (OperateSetting.Instance.ToolPackUILogic.GetHint())
- {
- HightColorEvent.ChangeImageAppha(m_ClickButton.GetComponent<Image>());
- }
- else
- {
- m_ClickButton.GetComponent<Image>().color = new Color(1, 1, 1, 1);
- }
-
- return m_IsClicked;
- }
- protected override void OnOperationDataStatusChanged(OperationDataStatus status)
- {
- switch (status)
- {
- case OperationDataStatus.InActive:
- m_ClickButton.GetComponent<Image>().color = new Color(1, 1, 1, 1);
- break;
- case OperationDataStatus.Listening:
- m_ClickButton.onClick.AddListener(delegate
- {
- m_ClickUnityEvent?.Invoke();
- m_IsClicked = true;
- });
- break;
- }
- }
- }
|