CutePet/Assets/Scripts/BeginScene/UI/BasePanel.cs

87 lines
2.0 KiB
C#
Raw Normal View History

2024-10-25 11:10:04 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public abstract class BasePanel : MonoBehaviour
{
//ר<><D7A8><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>
private CanvasGroup canvasGroup;
//<2F><><EFBFBD><EFBFBD><EBB5AD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
private float alphaSpeed = 10;
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>ʾ <20><>ʶ
public bool isShow;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD> <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private UnityAction hideCallBack = null;
protected virtual void Awake()
{
//һ<><D2BB>ʼ<EFBFBD><CABC>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><CFB9>ص<EFBFBD> <20><><EFBFBD><EFBFBD>
canvasGroup = this.GetComponent<CanvasGroup>();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
if (canvasGroup == null)
{
canvasGroup = this.gameObject.AddComponent<CanvasGroup>();
}
}
protected virtual void Start()
{
Init();
}
/// <summary>
/// ע<><D7A2><EFBFBD>ռ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD> <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ҫȥע<C8A5><D7A2>һЩ<D2BB>ռ<EFBFBD><D5BC>¼<EFBFBD>
/// <20><><EFBFBD><EFBFBD>д<EFBFBD>ɳ<EFBFBD><C9B3>󷽷<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥʵ<C8A5><CAB5>
/// </summary>
public abstract void Init();
/// <summary>
/// <20><>ʾ<EFBFBD>Լ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD>
/// </summary>
public virtual void ShowMe()
{
//canvasGroup.alpha = 0;
isShow = true;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD>
/// </summary>
public virtual void HideMe(UnityAction callBack)
{
canvasGroup.alpha = 1;
isShow = false;
hideCallBack = callBack;
}
protected virtual void Update()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ״̬ʱ <20><><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD> <20><>Ϊ1 <20>ͻͣ<E1B2BB>ļӵ<C4BC>1 <20>ӵ<EFBFBD>1<EFBFBD><31> <20><>ֹͣ<CDA3><EFBFBD><E4BBAF>
//̸<><CCB8>
//if (isShow&canvasGroup.alpha!=1)
//{
// canvasGroup.alpha += alphaSpeed * Time.deltaTime;
// if (canvasGroup.alpha>=1)
// {
// canvasGroup.alpha = 1;
// }
//}
//<2F><><EFBFBD><EFBFBD>
if (!isShow&&canvasGroup.alpha!=0)
{
canvasGroup.alpha -= alphaSpeed * Time.deltaTime;
if (canvasGroup.alpha<=0)
{
canvasGroup.alpha = 0;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͸<><CDB8><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD> <20><>ȥִ<C8A5>е<EFBFBD>һЩ<D2BB>߼<EFBFBD>
hideCallBack?.Invoke();
}
}
}
}