@accacha

Цвет спрайтов двух префабов не меняется одновременно. Что делать?

Написал через switch смену пресетов цветов фона камеры, эффекта и двух префабов. Проблема в том, что цвет префаба tile подгружает нужный цвет, а цвет префаба border остается тот же, и подгружается лишь через ещё одну перезагрузку сцены. Как переписать код, чтобы префабы изменяли цвет одновременно?
using UnityEngine;
using Random = UnityEngine.Random;

public class ColorPresets : MonoBehaviour
{
    [SerializeField] private int _numOfPresets = 2;
    [SerializeField] private Camera _cameraBackgroundColor;
    [SerializeField] private SpriteRenderer _tileColor;
    [SerializeField] private SpriteRenderer _borderColor;
    [SerializeField] private ParticleSystem _particleColor;

    private void Awake()
    {
        ChangeColors();
    }

    private void ChangeColors()
    {
        var colorPreset = Random.Range(0, _numOfPresets);
        var main = _particleColor.main;
        
        switch (colorPreset)
        {
            case 0: // White/gray.
                _cameraBackgroundColor.backgroundColor = new Color(0.670f, 0.635f, 0.635f);
                _tileColor.color = new Color(0.207f, 0.207f, 0.207f);
                _borderColor.color = new Color(0.207f, 0.207f, 0.207f);
                main.startColor = new Color(0.207f, 0.207f, 0.207f, 0.003f);
                break;
            case 1: // Yellow/RaisinBlack
                _cameraBackgroundColor.backgroundColor = new Color(1f, 0.929f, 0.396f);
                _tileColor.color = new Color(0.117f, 0.129f, 0.168f);
                _borderColor.color = new Color(0.117f, 0.129f, 0.168f);
                main.startColor = new Color(0.117f, 0.129f, 0.168f, 0.003f);
                break;
        }
    }
}
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ответы на вопрос 1
Hackerman1
@Hackerman1
17 лет, плохое зрение.
Попробуй через if сделать. case очень громоздкий и трудно читается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы