using UnityEngine; using Vanguard.Api.Contracts; using Vanguard.Auth; using Vanguard.Meta; using Vanguard.State; using Vanguard.UI; namespace Vanguard.App { public sealed class DeckBuilderSceneController : SceneControllerBase { private DeckBuilderView _view; private PlayerTopBar _topBar; private void Start() { SceneEnvironment.Build(SceneTheme.DeckBuilder); var canvas = CreateCanvas("DeckBuilder Canvas"); _view = new DeckBuilderView( canvas.transform, Resolve(), Resolve(), () => _ = Flow.LoadLobbyAsync(), deck => _ = Flow.OpenLobbyWithQueueAsync(deck), info => _ = Flow.LoadBattleAsync(info)); _topBar = new PlayerTopBar( canvas.transform, Resolve(), Resolve(), () => _ = Flow.LoadLoginAsync(), null, null, null, () => _ = Flow.LoadLobbyAsync()); _view.Show(); } private void OnDestroy() { _view?.Hide(); _topBar?.Dispose(); } } }