/*--------------------------------------------------------------------------------------------*/
        public void UpdateAfterInput()
        {
            var        isMenuOnLeft = vInteractSettings.IsMenuOnLeftSide;
            IInputMenu inputMenu    = vInput.GetMenu(isMenuOnLeft);

            IDictionary <HovercastCursorType, CursorType> convertMap =
                (vInteractSettings.IsMenuOnLeftSide ? vRightCursorConvertMap : vLeftCursorConvertMap);

            ActiveCursorTypes = vInteractSettings.Cursors
                                .Select(x => convertMap[x])
                                .ToArray();

            vActiveCursorInteractions = FullMenu.GetItems()
                                        .Cast <IBaseItemInteractionState>()
                                        .ToArray();

            ICursorState[] cursors = ActiveCursorTypes
                                     .Select(x => vHovercursorSetup.State.GetCursorState(x))
                                     .ToArray();

            FullMenu.UpdateAfterInput(inputMenu, cursors);

            if (isMenuOnLeft != vCurrIsMenuOnLeftSide)
            {
                vCurrIsMenuOnLeftSide = isMenuOnLeft;
                FullMenu.ResetAllItemCursorInteractions();
                OnSideChange();
            }
        }
Exemple #2
0
        /*--------------------------------------------------------------------------------------------*/
        private void TryInitCursor(CursorType pType)
        {
            if (vCursorMap.ContainsKey(pType))
            {
                return;
            }

            var cursor = new CursorState(Input.GetCursor(pType), VisualSettings.GetSettings(), vBaseTx);

            vCursorMap.Add(pType, cursor);

            ActiveCursorTypes = ActiveCursorTypes
                                .Concat(new[] { pType })
                                .ToArray();
        }