Меню красивое
This commit is contained in:
1 parent
855108d88b
commit
efad72b4d9
31 files changed
+30008
-1282
No files matched your search
@@ -27,43 +27,65 @@ namespace Code.App.AppStates
|
||||
Context.UIService.LoadingScreen.Show();
|
||||
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.UltraStatic);
|
||||
|
||||
|
||||
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
WaitForSceneToLoad();
|
||||
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
}
|
||||
|
||||
private CinematicDoorOpening _damnDoor = new();
|
||||
private async UniTaskVoid WaitForSceneToLoad()
|
||||
{
|
||||
await UniTask.WhenAll(
|
||||
Context.SceneLoaderService.LoadSceneAsyncAwaitable((int)SceneIds.MainMenu),
|
||||
Context.UIService.AsyncSwitchPanelTo(UIPanel.MainMenu),
|
||||
Context.AudioFactory.WarmMenuMusic()
|
||||
);
|
||||
|
||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Menu);
|
||||
Context.AudioService.PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType.Menu);
|
||||
);
|
||||
|
||||
var hui = ((MainMenuEnvironment)SceneManager.GetActiveScene()
|
||||
InitializeAudio();
|
||||
|
||||
var mainMenuEnvironment = ((MainMenuEnvironment)SceneManager.GetActiveScene()
|
||||
.GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
||||
_damnDoor.DamnDoor = hui.damnDoor;
|
||||
_damnDoor.DamnDoor.SetPhysics(false);
|
||||
_damnDoor.DoorLight = hui.doorLight;
|
||||
|
||||
var menuPanel = (MainMenuPanel)Context.UIService.CurrentPanel;
|
||||
|
||||
menuPanel.startButton.button.onClick.AddListener(StartGame);
|
||||
menuPanel.exitButton.button.onClick.AddListener(ExitGame);
|
||||
menuPanel.CinematicDoorOpening = _damnDoor;
|
||||
|
||||
((UltraStaticState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(hui.cameraPosition);
|
||||
InitializeUI(mainMenuEnvironment);
|
||||
|
||||
InitializeCamera(mainMenuEnvironment);
|
||||
|
||||
InitializeInput();
|
||||
|
||||
Context.UIService.LoadingScreen.Hide();
|
||||
|
||||
}
|
||||
|
||||
private void InitializeCamera(MainMenuEnvironment mainMenuEnvironment)
|
||||
{
|
||||
((UltraStaticState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(mainMenuEnvironment
|
||||
.cameraPosition);
|
||||
}
|
||||
|
||||
private void InitializeInput()
|
||||
{
|
||||
Context.InputService.EnableMap(ActionMappings.MainMenu);
|
||||
}
|
||||
|
||||
private void InitializeAudio()
|
||||
{
|
||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Menu);
|
||||
Context.AudioService.PlayRandomMusicUntilHumanityWillBeDestroyedForTheySins(MusicType.Menu);
|
||||
}
|
||||
|
||||
private void InitializeUI(MainMenuEnvironment mainMenuEnvironment)
|
||||
{
|
||||
var menuPanel = (MainMenuPanel)Context.UIService.CurrentPanel;
|
||||
menuPanel.Initialize(mainMenuEnvironment.uiVariables,
|
||||
mainMenuEnvironment.startButton,
|
||||
mainMenuEnvironment.settingButton,
|
||||
mainMenuEnvironment.exitButton);
|
||||
|
||||
menuPanel.startButton.button.onClick.AddListener(StartGame);
|
||||
menuPanel.exitButton.button.onClick.AddListener(ExitGame);
|
||||
|
||||
mainMenuEnvironment.menuButtonsCanvas.worldCamera = Context.CameraStateMachine.Camera;
|
||||
}
|
||||
|
||||
public override void Tick()
|
||||
{
|
||||
}
|
||||
@@ -82,8 +104,8 @@ namespace Code.App.AppStates
|
||||
public override void ExitState()
|
||||
{
|
||||
Context.InputService.DisableMap(ActionMappings.MainMenu);
|
||||
Context.AudioService.GladlyAskToStopMusic(MusicType.Menu, callback: Context.AudioFactory.ReleaseMenuMusic);
|
||||
|
||||
Context.AudioService.GladlyAskToStopMusic(MusicType.Menu, callback: Context.AudioFactory.ReleaseMenuMusic);
|
||||
|
||||
base.ExitState();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user