test commit
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class Spookys : MonoBehaviour
|
||||
{
|
||||
public AudioSource AudioSource;
|
||||
public RawImage RawImage;
|
||||
public Texture2D[] Textures;
|
||||
public Texture2D TinkyNear;
|
||||
|
||||
public bool doNow;
|
||||
|
||||
float extraTime = 0;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
extraTime += Time.deltaTime / 10;
|
||||
if (extraTime > 60)
|
||||
extraTime = 60;
|
||||
}
|
||||
|
||||
IEnumerator Loop()
|
||||
{
|
||||
AudioSource.Stop();
|
||||
RawImage.enabled = false;
|
||||
|
||||
while (true)
|
||||
{
|
||||
float nextTime = Time.time + Random.Range(30f + extraTime, 60f + extraTime);
|
||||
yield return new WaitUntil(() => Time.time > nextTime || doNow);
|
||||
|
||||
if (doNow)
|
||||
doNow = false;
|
||||
|
||||
bool useNearby = false;
|
||||
|
||||
if (TinkyWinky.Instance) {
|
||||
float dist = Vector3.Distance(Player.Instance.transform.position, TinkyWinky.Instance.transform.position);
|
||||
if (dist < 50 && TinkyWinky.Instance.ActiveState >= TinkyWinky.States.Stalk)
|
||||
{
|
||||
useNearby = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (useNearby)
|
||||
{
|
||||
AudioSource.pitch = 0.5f;
|
||||
RawImage.texture = TinkyNear;
|
||||
} else
|
||||
{
|
||||
RawImage.texture = Textures[Random.Range(0, Textures.Length)];
|
||||
AudioSource.pitch = 1f;
|
||||
}
|
||||
|
||||
RawImage.enabled = true;
|
||||
AudioSource.Play();
|
||||
|
||||
yield return new WaitForSeconds(0.1f);
|
||||
|
||||
AudioSource.Stop();
|
||||
RawImage.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
StartCoroutine(Loop());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user