ro-webgl/Assets/ArtScript/DelayShow.cs

77 lines
1.7 KiB
C#
Raw Normal View History

2021-12-21 09:40:39 +08:00
using UnityEngine;
using System.Collections;
public class DelayShow : MonoBehaviour
{
public float delayTime = 1.0f;
public Transform[] Targets;
float leftTime = 0;
bool bShowed = false;
// Use this for initialization
void Start()
{
if(delayTime > 0)
{
if (Targets == null || Targets.Length == 0) return;
for (int idx = 0; idx < Targets.Length; idx++)
{
if(Targets[idx] != null)
{
Targets[idx].gameObject.SetActive(false);
}
}
}
}
private void OnEnable()
{
bShowed = false;
leftTime = delayTime;
}
private void OnDisable()
{
if (delayTime > 0)
{
if (Targets == null || Targets.Length == 0) return;
for (int idx = 0; idx < Targets.Length; idx++)
{
if (Targets[idx] != null)
{
Targets[idx].gameObject.SetActive(false);
}
}
}
}
private void Update()
{
if(!bShowed)
{
leftTime -= Time.unscaledDeltaTime;
if (leftTime <= 0)
{
DelayFunc();
}
}
}
void DelayFunc()
{
if (Targets == null || Targets.Length == 0) return;
for(int idx =0; idx < Targets.Length;idx++)
{
if (Targets[idx] != null)
{
Targets[idx].gameObject.SetActive(true);
}
}
bShowed = true;
}
}