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; [Header("Отладка")] [SerializeField] private bool logging; private void Awake() { InitializeMangers(); Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; } private void InitializeMangers() { if (ConfigCatalog == null) { Log("Не указан каталог конфигов"); return; } var catalogValidatinResult = ConfigCatalog.ValidateReferences(); if (!catalogValidatinResult.OK) { Log($"Ошибка в каталоге конфига: \n{catalogValidatinResult.message}"); return; } #region Инициализации SettingsManager.Initialize(ConfigCatalog.SettingsManagerConfig.DefaultSettingsScheme); 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 Log("Главный загрузчик отработал"); BootstrapperState.MainBootstraped = true; SceneLoader.LoadScene("MenuOneRegime"); } private void Log(string message) { if (logging) Debug.Log(message); } }