ScrapYardDecoBlinkScript.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using GadgetCore.API;
  2. using System.Collections;
  3. using System.Reflection;
  4. using UnityEngine;
  5. namespace ScrapYard
  6. {
  7. public class ScrapYardDecoBlinkScript : MonoBehaviour
  8. {
  9. private void Awake()
  10. {
  11. StartCoroutine(Run());
  12. }
  13. private static Material materialOff = new Material(Shader.Find("Unlit/Transparent")) { mainTexture = GadgetCoreAPI.LoadTexture2D("shopStand.png") };
  14. private static Material materialOn = new Material(Shader.Find("Unlit/Transparent")) { mainTexture = GadgetCoreAPI.LoadTexture2D("shopStand_blink.png") };
  15. private IEnumerator Run()
  16. {
  17. while (true)
  18. {
  19. yield return new WaitForSeconds(5f + Random.Range(0, 100) / 2f);
  20. int times = Random.Range(1, 5);
  21. for (int i = 0; i < times; i++)
  22. {
  23. yield return new WaitForSeconds(0.2f + Random.Range(0, 20) / 55f);
  24. gameObject.GetComponentInChildren<Renderer>().material = materialOn;
  25. yield return new WaitForSeconds(0.1f + Random.Range(0, 20) / 11f);
  26. gameObject.GetComponentInChildren<Renderer>().material = materialOff;
  27. }
  28. }
  29. yield break;
  30. }
  31. }
  32. }