using UnityEngine; /// /// Главный загрузчик. /// public class MainBootstrap : MonoBehaviour { [SerializeField] private ConfigCatalog ConfigCatalog; [SerializeField] private In.InputType InputType; [Header("Настройка камер")] [SerializeField] private Transform CamerasPivot; [SerializeField] private Camera VR_Camera; [SerializeField] private Camera Screen_Camera; [Header("Sound manager")] [SerializeField] private SoundManager soundManager; private void Awake() { InitializeMangers(); Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; } private void InitializeMangers() { if (ConfigCatalog == null) { Debug.LogError("Не указан каталог конфигов", this); return; } var catalogValidatinResult = ConfigCatalog.ValidateReferences(); if (!catalogValidatinResult.OK) { Debug.LogError($"Ошибка в каталоге конфига: \n{catalogValidatinResult.message}", this); return; } #region Инициализации CamerasManager.Initialize(CamerasPivot, VR_Camera, Screen_Camera); UnityMainThreadDispatcher.Initialize(); ComPortController.Initialize(ControllerConfig.LoadOrCreate()); ComPortController.PaymentReceived += WalletManager.OnCoin; WalletManager.Initialize(ConfigCatalog.WalletManagerConfig); GameModesHolder.Initialize(ConfigCatalog.GameModesConfig); In.Initialize(In.GetInputSourceByType(InputType)); soundManager.Initialize(); #endregion Debug.Log("Главный загрузчик отработал"); BootstrapperState.MainBootstraped = true; SceneLoader.LoadScene("Menu"); } }