[field: SerializeField, Range(1, 100)] private float _layerClamp = 10f;
private SpriteRenderer _render;
private void Start()
{
_render = GetComponent<SpriteRenderer>();
OrderUpdate();
}
void OrderUpdate()
{
_render.sortingOrder = (int)(transform.position.y * -_layerClamp);
}
private void Update()
{
OrderUpdate();
}
void Start()
{
attack.OnStateEnter(); //там нужно передать внутрь параметры
}
void Update()
{
attack.OnStateUpdate() //аналогично
}
Но как бы смысл в том что выстрелы не зависят друг от друга, а значит что на каждый выстрел надо вызывать свою дульную вспышку и она должно поиграться полностью и дульная вспышка может состоять из друх систем что играют одновременно. Тут как бы и напрашивается сделать object pooling в котором будут все системы а зная скорострельность и скорость анимации можно даже сразу заполнить и сделать не расширяемым.
А вот наверно единственное когда можно сделать muzzle flash зацикленным это там стрельба из какого лазера (в смысле лучом)