Files
aibis-dream/Assets/Plugins/CleanFlatUI/Scripts/TabView/Tab.cs
T
2024-10-10 12:46:34 +08:00

72 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;
namespace RainbowArt.CleanFlatUI
{
public class Tab : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler
{
[SerializeField]
Toggle toggle;
[SerializeField]
Animator animator;
bool isPointerEntered = false;
void OnEnable()
{
isPointerEntered = false;
UpdateStatusContent();
}
public void OnPointerEnter(PointerEventData eventData)
{
isPointerEntered = true;
UpdateStatusContent();
}
public void OnPointerExit(PointerEventData eventData)
{
isPointerEntered = false;
UpdateStatusContent();
}
public void UpdateStatusContent()
{
if (!toggle.isOn)
{
if(isPointerEntered)
{
PlayAnimation(animator, "Hover");
}
else
{
PlayAnimation(animator, "Off Init");
}
}
}
void PlayAnimation(Animator animator, string animStr)
{
if(animator != null)
{
if(animator.enabled == false)
{
animator.enabled = true;
}
animator.Play(animStr,0,0);
}
}
void ResetAnimation(Animator animator)
{
if(animator != null)
{
animator.enabled = false;
}
}
}
}