66 lines
2.0 KiB
C#
66 lines
2.0 KiB
C#
using UnityEngine;
|
||
|
||
/// <summary>
|
||
/// Главный загрузчик.
|
||
/// </summary>
|
||
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 Инициализации
|
||
|
||
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
|
||
|
||
Debug.Log("Главный загрузчик отработал");
|
||
BootstrapperState.MainBootstraped = true;
|
||
SceneLoader.LoadScene("MenuOneRegime");
|
||
}
|
||
}
|