Danro/Assets/Scripts/Managers/GlobalsManager.cs
Danil Iarosh 32cfa79578 refactor: Refactor work with COM to ComSystemManager
- Добавлен ComSystemManager как новый публичный компонент COM-системы для поэтапной замены ComWrapper
- Реализовано получение роли контроллера только после успешного handshake в ComDeviceClient
- Добавлено публичное поле ControllerRole в ComDeviceClient
- Добавлен запрос роли по команде 97 и разбор ответа формата ROLE : <value> (с пробелами)
- В ComMultiManager добавлена логика выбора DefaultDeviceId по роли main_controller
- Добавлен доступ к роли устройства через GetDeviceRole(deviceId) в менеджере и фасаде
- В ComWrapper добавлены настройки роли: roleRequestCommand, roleResponsePrefix, roleRequestTimeoutMs, mainControllerRole
- Дефолтная команда запроса роли изменена на 97
- Выполнена кодовая миграция зависимостей с ComWrapper на ComSystemManager в GameManager, GlobalsManager, PaymentManager, BalanceManager, InactivityManager, COMInput, LightController, PrizeSystem
- В GlobalsManager исправлена инициализация ссылки после AddComponent<ComSystemManager>(), чтобы исключить NullReference
2026-02-20 14:59:16 +03:00

60 lines
2.7 KiB
C#

using RR.Common.Controls;
using RR.Common.Settings;
using RR.Game2D.Core.Managers;
using UnityEngine;
namespace RR.Common.Managers
{
public class GlobalsManager : MonoBehaviour
{
private SettingsManager _settingsManager;
private ComSystemManager _comSystemManager;
private In _in;
private PrizeSystem _prizeSystem;
private PrizeSystemManager _prizeSystemManager;
private PaymentManager _paymentManager;
private ComInputToInputSystemAdapter _adapter;
private void Awake()
{
GameManager.Logger.Log(name ,"Initializing global objects...");
_settingsManager = GetComponent<SettingsManager>();
_comSystemManager = GetComponent<ComSystemManager>();
_in = GetComponent<In>();
_prizeSystem = GetComponent<PrizeSystem>();
_prizeSystemManager = GetComponent<PrizeSystemManager>();
_paymentManager = GetComponent<PaymentManager>();
_adapter = GetComponent<ComInputToInputSystemAdapter>();
if (_settingsManager == null) _settingsManager = gameObject.AddComponent<SettingsManager>();
if (_comSystemManager == null) _comSystemManager = gameObject.AddComponent<ComSystemManager>();
if (_in == null) _in = gameObject.AddComponent<In>();
if (_prizeSystem == null) _prizeSystem = gameObject.AddComponent<PrizeSystem>();
if (_prizeSystemManager == null) _prizeSystemManager = gameObject.AddComponent<PrizeSystemManager>();
if (_paymentManager == null) _paymentManager = gameObject.AddComponent<PaymentManager>();
if (_adapter == null) _adapter = gameObject.AddComponent<ComInputToInputSystemAdapter>();
_settingsManager.Initialize();
GameManager.Logger.Log(name, "SettingsManager successfully initialized.");
_comSystemManager.Initialize();
GameManager.Logger.Log(name, "ComSystemManager successfully initialized.");
_in.Initialize();
GameManager.Logger.Log(name, "In.cs successfully initialized.");
_prizeSystem.Initialize();
GameManager.Logger.Log(name, "PrizeSystem successfully initialized.");
_prizeSystemManager.Initialize();
GameManager.Logger.Log(name, "PrizeSystemManager successfully initialized.");
_paymentManager.Initialize();
GameManager.Logger.Log(name, "PaymentManager successfully initialized.");
_adapter.Initialize();
GameManager.Logger.Log(name, "InputAdapter successfully initialized.");
}
}
}