Пример #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public MenuState(IInputProvider pInputProv, NavProvider pNavProv, InteractionSettings pSettings)
        {
            InputProvider = pInputProv;
            NavProv       = pNavProv;

            vSettings = pSettings;

            Arc    = new ArcState(NavProv, vSettings);
            Cursor = new CursorState(vSettings);

            OnSideChange += (() => {});
        }
Пример #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public ArcState(NavProvider pNavProv, InteractionSettings pSettings)
        {
            vNavProv  = pNavProv;
            vSegments = new List <ArcSegmentState>();
            vSettings = pSettings;

            IsLeft = vSettings.IsMenuOnLeftSide;

            OnLevelChange += (d => {});

            vNavProv.OnLevelChange += HandleLevelChange;
            HandleLevelChange(0);
        }
Пример #3
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);
        }