using UnityEngine; using VContainer; using Vanguard.UI; namespace Vanguard.App { /// База контроллера сцены: доступ к персистентным сервисам и Canvas. public abstract class SceneControllerBase : MonoBehaviour { protected VanguardApp App { get; private set; } protected IObjectResolver Container => App.Container; protected SceneFlow Flow => App.Flow; protected virtual void Awake() { App = VanguardApp.Instance; if (App == null) { Debug.LogError("VanguardApp не создан. Запусти игру из Boot или через Play в любой сцене клиента."); enabled = false; } } protected Canvas CreateCanvas(string name) { return UiKit.CreateCanvas(name, persistent: false); } protected T Resolve() where T : class => Container.Resolve(); } }