REFACTOR: Развязал функциональность подсветки и ComWrapper

This commit is contained in:
_sega 2026-02-19 10:21:06 +03:00
parent 71d45078b2
commit db1b1fc364
2 changed files with 50 additions and 44 deletions

View File

@ -52,13 +52,6 @@ public class ComWrapper : MonoBehaviour
onInputRecieved?.AddListener(InputRecievedCather);
StartCoroutine(SetupBoard());
}
private void send_port_pin_message(int pin)
{
}
public static void AddCredit()
@ -111,17 +104,7 @@ public class ComWrapper : MonoBehaviour
}
catch { Debug.LogError("Ошибка отправки строкового сигнала."); }
}
public static void Send(LightMode lightMode)
{
try
{
string signal = LightUtility.GetLightString(lightMode);
Send(signal);
}
catch { Debug.LogError("Ошибка отправки светового сигнала."); }
}
}
public static bool Pay(int amount)
@ -506,18 +489,3 @@ public class ComWrapper : MonoBehaviour
}
public enum LightMode
{
Idle1,
Idle2,
Orange,
Blue,
Win,
Lose,
Prize,
Toaster,
Tama,
Dog,
Sam,
Mistress
}

View File

@ -2,34 +2,35 @@
public static class LightUtility
{
private const string LIGHT_COMMAND_PREFIX = "80";
public static void Idle()
{
if (Random.Range(0, 2) == 0)
ComWrapper.Send(LightMode.Idle1);
SendLightCommandToCom(LightMode.Idle1);
else
ComWrapper.Send(LightMode.Idle2);
SendLightCommandToCom(LightMode.Idle2);
}
public static void Win()
{
ComWrapper.Send(LightMode.Win);
SendLightCommandToCom(LightMode.Win);
}
public static void Lose()
{
ComWrapper.Send(LightMode.Lose);
SendLightCommandToCom(LightMode.Lose);
}
public static void Player(CellState currentPlayer)
{
if (currentPlayer == CellState.Player1)
ComWrapper.Send(LightMode.Orange);
SendLightCommandToCom(LightMode.Orange);
else
ComWrapper.Send(LightMode.Blue);
SendLightCommandToCom(LightMode.Blue);
}
public static void Prize()
{
ComWrapper.Send(LightMode.Prize);
SendLightCommandToCom(LightMode.Prize);
}
public static void Character(Character currentCharacter)
@ -49,15 +50,37 @@ public static class LightUtility
_ => LightMode.Idle2
};
ComWrapper.Send(lightMode);
SendLightCommandToCom(lightMode);
}
public static void Promo()
{
string[] signals = { "80521", "80523", "80524" };
string[] signals = { "521", "523", "524" };
string signal = signals[Random.Range(0, signals.Length)];
ComWrapper.Send(signal);
SendLightCommandToCom(signal);
}
public static void SendLightCommandToCom(LightMode lightMode)
{
try
{
string signal = GetLightString(lightMode);
ComWrapper.Send(signal);
}
catch { Debug.LogError("Ошибка отправки светового сигнала."); }
}
/// <summary>
/// Принимает сингнал без префикса. В процессе сам его добавляет.
/// </summary>
public static void SendLightCommandToCom(string signal)
{
try
{
ComWrapper.Send(LIGHT_COMMAND_PREFIX + signal);
}
catch { Debug.LogError("Ошибка отправки светового сигнала."); }
}
@ -117,9 +140,24 @@ public static class LightUtility
}
return "80" + lightsingal;
return LIGHT_COMMAND_PREFIX + lightsingal;
}
}
public enum LightMode
{
Idle1,
Idle2,
Orange,
Blue,
Win,
Lose,
Prize,
Toaster,
Tama,
Dog,
Sam,
Mistress
}