sea-battle-vr/Assets/Scripts/Gameplay/GameplayBootstrap.cs

84 lines
2.7 KiB
C#

using System.Collections.Generic;
using UnityEngine;
public class GameplayBootstrap : MonoBehaviour
{
[SerializeField] private Transform CameraPosition;
[SerializeField] private List<EnemySpawner> 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;
[SerializeField] YawOnlyTracker yawOnlyTracker;
[SerializeField] TimerestDisplay timerestDisplay;
[SerializeField] PlayerIndicatorsController playerIndicatorsController;
private void Awake()
{
if (!BootstrapperState.MainBootstraped)
{
SceneLoader.LoadScene("Bootstrap");
return;
}
GameplayManager.PlayerTransform = PlayerTransform;
G.Initialize(PlayerTransform.GetComponent<Player>(), 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<PeriscopeAnglesConfig>("Configs/PeriscopeCalibration.json", FileUtil.AppDirectory.Streaming).Data;
yawOnlyTracker = CamerasManager.VR_Camera.GetComponent<YawOnlyTracker>();
yawOnlyTracker.SetConfig(config);
foreach (var s in Spawners)
s.Initialize();
RankSystem.Initialize();
endgameAnimations.Init();
endgameAnimations1.Init();
mixerController.Init();
replicasSystem.Init();
}
}