Exemple #1
0
		/*--------------------------------------------------------------------------------------------*/
		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();
            }
        }