Files
2026-03-04 10:03:45 +08:00

58 lines
1.1 KiB
C#

using UnityEngine;
namespace Artngame.SKYMASTER
{
public class LightFlash : MonoBehaviour
{
public float delay = 1.5f;
private float cur_time;
private Light this_light;
private float start_emit_time;
private bool emits;
public float emit_time = 1f;
public float speed = 1f;
private PerlinSKYMASTER noise;
private void Start()
{
cur_time = Time.fixedTime;
this_light = GetComponent<Light>();
}
private void Update()
{
if (noise == null)
{
noise = new PerlinSKYMASTER();
}
float num = Time.time * speed * 0.1365143f;
float num2 = Time.time * speed * 1.21688f;
float num3 = Time.time * speed * 2.5564f;
if ((Time.fixedTime - cur_time > delay) & !emits)
{
start_emit_time = Time.fixedTime;
emits = true;
cur_time = Time.fixedTime;
}
if (emits)
{
if (Time.fixedTime - start_emit_time <= emit_time)
{
this_light.intensity = (float)Random.Range(1, 3) * noise.Noise(num + this_light.intensity, num2 + this_light.intensity, num3 + this_light.intensity);
return;
}
emits = false;
this_light.intensity = 0f;
start_emit_time = 0f;
}
}
}
}