Привет Всем!! Банально нужно выключить все светильники кроме одного который будет светить; Трудность в том, что нельзя все сразу выключить, а потом включить тот который нужно чтоб светил, потому что сразу может послано в другой скрипт что он изменился ( а этого делать нельзя) Есть какое-то более элегантное решение чем 3 способ ??
Код
public class TestLampser : MonoBehaviour
{
public int hours;
public bool sun;
public bool lune;
public bool lamp;
public bool fonar;
void Update()
{
/// первый способ не подходит выключать приодится светящийся
sun = false;
lune = false;
lamp = false;
fonar = false;
switch (hours)
{
case 1:
sun = true;
break;
case 2:
lune = true;
break;
case 3:
lamp = true;
break;
case 4:
fonar = true;
break;
default:
break;
}
/// второй способне подходит выключать приодится светящийся
switch (hours)
{
case 1:
Lighting(); sun = true;
break;
case 2:
Lighting(); lune = true;
break;
case 3:
Lighting(); lamp = true;
break;
case 4:
Lighting(); fonar = true;
break;
default:
break;
}
/// первый третий я не думаю что это элегантный способ
switch (hours)
{
case 1:
Lighting1(true);
break;
case 2:
Lighting1(false, true);
break;
case 3:
Lighting1(false, false, true);
break;
case 4:
Lighting1(false, false, false, true);
break;
default:
break;
}
}
void Lighting()
{
sun = false;
lune = false;
lamp = false;
fonar = false;
}
void Lighting1(bool _sun = false, bool _lune = false, bool _lamp = false, bool _fonar = false)
{
sun = _sun;
lune = _lune;
lamp = _lamp;
fonar = _fonar;
}