/*--------------------------------------------------------------------------------------------*/ public void UpdateAfterInput() { var isMenuOnLeft = vInteractSettings.IsMenuOnLeftSide; IInputMenu inputMenu = vInput.GetMenu(isMenuOnLeft); HovercastCursorType[] cursorTypes = vInteractSettings.Cursors; ReadOnlyCollection<BaseItemState> items = FullMenu.GetItems(); Dictionary<HovercastCursorType, CursorType> convertMap = (vInteractSettings.IsMenuOnLeftSide ? vRightCursorConvertMap : vLeftCursorConvertMap); vActiveCursorTypes.Clear(); vActiveCursorInteractions.Clear(); FullMenu.ClearCursors(); foreach ( HovercastCursorType unsidedCursorType in cursorTypes ) { CursorType cursorType = convertMap[unsidedCursorType]; ICursorState cursor = vHovercursorSetup.State.GetCursorState(cursorType); vActiveCursorTypes.Add(cursorType); FullMenu.AddCursor(cursor); } for ( int i = 0 ; i < items.Count ; i++ ) { vActiveCursorInteractions.Add(items[i]); } FullMenu.UpdateAfterInput(inputMenu); if ( isMenuOnLeft != vCurrIsMenuOnLeftSide ) { vCurrIsMenuOnLeftSide = isMenuOnLeft; FullMenu.ResetAllItemCursorInteractions(); OnSideChange(); } }
/*--------------------------------------------------------------------------------------------*/ 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(); } }