//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public MenuState(IInputProvider pInputProv, NavProvider pNavProv, InteractionSettings pSettings) { InputProvider = pInputProv; NavProv = pNavProv; vSettings = pSettings; Arc = new ArcState(NavProv, vSettings); Cursor = new CursorState(vSettings); OnSideChange += (() => {}); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public ArcState(NavProvider pNavProv, InteractionSettings pSettings) { vNavProv = pNavProv; vSegments = new List <ArcSegmentState>(); vSettings = pSettings; IsLeft = vSettings.IsMenuOnLeftSide; OnLevelChange += (d => {}); vNavProv.OnLevelChange += HandleLevelChange; HandleLevelChange(0); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public void Awake() { if (NavDelegateProvider == null) { throw new Exception("HovercastSetup.NavDelegateProvider must be set."); } if (SettingsProvider == null) { throw new Exception("HovercastSetup.SettingsProvider must be set."); } if (InputProvider == null) { throw new Exception("HovercastSetup.InputProvider must be set."); } if (OptionalCameraReference == null) { OptionalCameraReference = gameObject.transform; } vNavProv = new NavProvider(); vNavProv.Init(NavDelegateProvider.GetNavDelegate()); vMenuState = new MenuState(InputProvider, vNavProv, SettingsProvider.GetInteractionSettings()); //// var menuObj = new GameObject("Menu"); menuObj.transform.SetParent(gameObject.transform, false); vUiMenu = menuObj.AddComponent <UiMenu>(); vUiMenu.Build(vMenuState, SettingsProvider); var cursorObj = new GameObject("Cursor"); cursorObj.transform.SetParent(gameObject.transform, false); vUiCursor = cursorObj.AddComponent <UiCursor>(); vUiCursor.Build(vMenuState.Arc, vMenuState.Cursor, SettingsProvider, OptionalCameraReference); }