using Learn; using Lights; using System.Collections.Generic; using UnityEngine; public class GameplayBootstrap : MonoBehaviour { [SerializeField] private Transform CameraPosition; [SerializeField] private List Spawners; [SerializeField] private Transform PlayerTransform; [SerializeField] private Health PlayerHealth; [Header("UI")] [SerializeField] private Canvas ScreenCanvas; [SerializeField] private Canvas VrCanvas; [SerializeField] private ScreenUI ScreenUI; [SerializeField] private VrUI vrUI; //[SerializeField] private RankSystem RankSystem; [SerializeField] private EndgameAnimationsStarter endgameAnimations; [SerializeField] private EndgameAnimationsStarter endgameAnimations1; [SerializeField] private CameraShaker cameraShaker; [SerializeField] private AirDropManager airDropManager; [SerializeField] MixerController mixerController; [SerializeField] ReplicasSystem replicasSystem; private YawOnlyTracker yawOnlyTracker; [SerializeField] TimerestDisplay timerestDisplay; [SerializeField] PlayerIndicatorsController playerIndicatorsController; [SerializeField] InputController inputController; [SerializeField] LearnSystem learnSystem; private void Awake() { if (!BootstrapperState.MainBootstraped) { SceneLoader.LoadScene("Bootstrap"); return; } //GameplayManager.PlayerTransform = PlayerTransform; G.Initialize(PlayerTransform.GetComponent(), PlayerHealth, Spawners, cameraShaker); airDropManager.Init(PlayerTransform.gameObject); timerestDisplay.Init(); ScreenUI.Initialize(); vrUI.Initialize(); playerIndicatorsController.Init(); ScreenCanvas.worldCamera = CamerasManager.Screen_Camera; ScreenCanvas.planeDistance = 1.02f; ScreenCanvas.updateRectTransformForStandalone = StandaloneRenderResize.Disabled; VrCanvas.worldCamera = CamerasManager.VR_Camera; VrCanvas.planeDistance = 1.02f; VrCanvas.updateRectTransformForStandalone = StandaloneRenderResize.Disabled; CamerasManager.CamerasPivot.position = CameraPosition.position; CamerasManager.CamerasPivot.rotation = CameraPosition.rotation; PeriscopeAnglesConfig config = FileUtil.LoadJson("Configs/PeriscopeCalibration.json", FileUtil.AppDirectory.Streaming).Data; yawOnlyTracker = CamerasManager.VR_Camera.GetComponent(); yawOnlyTracker.SetConfig(config); foreach (var s in Spawners) s.Initialize(); //RankSystem.Initialize(); endgameAnimations.Init(); endgameAnimations1.Init(); mixerController.Init(); replicasSystem.Init(); LightSystem.Ef_Start(); inputController.Init(startPolling: true); RankSystem.Instance.SubscribeOnScore(); learnSystem.Init(); } }