initial project setup. like you know. 500 folders and dependencies. actually its not i literally just made like 4 folders and added 3 random plugins i use

This commit is contained in:
Sylvia 2026-09-12 17:41:04 -07:00
parent 4af2291d26
commit 5c63db722e
377 changed files with 66388 additions and 0 deletions

View file

@ -0,0 +1,55 @@
using System.Collections.Generic;
using System.Collections;
using UnityEngine;
namespace Bremsengine
{
public class SpriteMaterialQueue : MonoBehaviour
{
[field: SerializeField] public SpriteRenderer SR { get; private set; }
[SerializeField] List<SpriteRenderer> renderers = new();
public Material StandardMaterial { get; private set; }
static Coroutine activeroutine;
[SerializeField] Material flashMaterial;
[SerializeField] float flashInterval;
private void Awake()
{
StandardMaterial = SR.sharedMaterial;
}
public void RunMaterialQueue(float duration)
{
SR.sharedMaterial = StandardMaterial;
if (activeroutine != null)
{
SetRendererMaterial(StandardMaterial);
StopCoroutine(activeroutine);
}
activeroutine = StartCoroutine(CO_FlashMaterial(flashMaterial, duration, flashInterval));
}
void SetRendererMaterial(Material m)
{
if (SR != null)
{
SR.sharedMaterial = m;
}
foreach (var r in renderers)
{
if (r == null)
continue;
r.sharedMaterial = m;
}
}
public IEnumerator CO_FlashMaterial(Material flashMaterial, float duration, float flashInterval)
{
SetRendererMaterial(StandardMaterial);
float endTime = Time.time + duration;
while (Time.time < endTime)
{
Material determinedMaterial = SR.sharedMaterial != flashMaterial ? flashMaterial : StandardMaterial;
SetRendererMaterial(determinedMaterial);
yield return new WaitForSeconds(flashInterval);
}
SetRendererMaterial(StandardMaterial);
}
}
}