//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public virtual InteractionSettings GetSettings() { if ( vSettings == null ) { vSettings = new InteractionSettings(); vSettings.IsMenuOnLeftSide = IsMenuOnLeftSide; vSettings.ApplyScaleMultiplier = ApplyScaleMultipler; vSettings.HighlightDistanceMin = HighlightDistanceMin; vSettings.HighlightDistanceMax = HighlightDistanceMax; vSettings.StickyReleaseDistance = StickyReleaseDistance; vSettings.SelectionMilliseconds = SelectionMilliseconds; vSettings.Cursors = Cursors; } return vSettings; }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public MenuState(IItemHierarchy pItemHierarchy, InteractionSettings pInteractSettings) { vItemHierarchy = pItemHierarchy; vInteractSettings = pInteractSettings; vAllItems = new List<BaseItemState>(); vItems = new List<BaseItemState>(); vCurrentCursors = new ICursorState[0]; vPalmItem = new BaseItemState(vItemHierarchy.NavigateBackItem, pInteractSettings); OnLevelChange += (d => {}); vItemHierarchy.OnLevelChange += HandleLevelChange; HandleLevelChange(0); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public virtual InteractionSettings GetSettings() { if (vSettings == null) { vSettings = new InteractionSettings(); vSettings.IsMenuOnLeftSide = IsMenuOnLeftSide; vSettings.ApplyScaleMultiplier = ApplyScaleMultipler; vSettings.HighlightDistanceMin = HighlightDistanceMin; vSettings.HighlightDistanceMax = HighlightDistanceMax; vSettings.StickyReleaseDistance = StickyReleaseDistance; vSettings.SelectionMilliseconds = SelectionMilliseconds; vSettings.Cursors = Cursors; } return(vSettings); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public HovercastState(IItemHierarchy pItemHierarchy, HovercursorSetup pHovercusorSetup, InteractionSettings pInterSett, IInput pInput, Transform pBaseTx) { vInteractSettings = pInterSett; vHovercursorSetup = pHovercusorSetup; vInput = pInput; BaseTransform = pBaseTx; FullMenu = new MenuState(pItemHierarchy, vInteractSettings); vActiveCursorInteractions = new ReadList<IBaseItemInteractionState>(); vMenuPlanes = new ReadList<PlaneData>(); vActiveCursorTypes = new ReadList<CursorType>(); ActiveCursorTypes = vActiveCursorTypes.ReadOnly; vLeftCursorConvertMap = new Dictionary<HovercastCursorType, CursorType>(HovercastCursorTypeComparer); vLeftCursorConvertMap.Add(HovercastCursorType.Palm, CursorType.LeftPalm); vLeftCursorConvertMap.Add(HovercastCursorType.Thumb, CursorType.LeftThumb); vLeftCursorConvertMap.Add(HovercastCursorType.Index, CursorType.LeftIndex); vLeftCursorConvertMap.Add(HovercastCursorType.Middle, CursorType.LeftMiddle); vLeftCursorConvertMap.Add(HovercastCursorType.Ring, CursorType.LeftRing); vLeftCursorConvertMap.Add(HovercastCursorType.Pinky, CursorType.LeftPinky); vLeftCursorConvertMap.Add(HovercastCursorType.Look, CursorType.Look); vRightCursorConvertMap = new Dictionary<HovercastCursorType, CursorType>(HovercastCursorTypeComparer); vRightCursorConvertMap.Add(HovercastCursorType.Palm, CursorType.RightPalm); vRightCursorConvertMap.Add(HovercastCursorType.Thumb, CursorType.RightThumb); vRightCursorConvertMap.Add(HovercastCursorType.Index, CursorType.RightIndex); vRightCursorConvertMap.Add(HovercastCursorType.Middle, CursorType.RightMiddle); vRightCursorConvertMap.Add(HovercastCursorType.Ring, CursorType.RightRing); vRightCursorConvertMap.Add(HovercastCursorType.Pinky, CursorType.RightPinky); vRightCursorConvertMap.Add(HovercastCursorType.Look, CursorType.Look); OnSideChange += (() => {}); }