////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        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);
            ActiveCursorTypes = new CursorType[0];

            vCursorMap = new Dictionary <CursorType, ICursorState>();

            vLeftCursorConvertMap = new Dictionary <HovercastCursorType, CursorType> {
                { HovercastCursorType.Palm, CursorType.LeftPalm },
                { HovercastCursorType.Thumb, CursorType.LeftThumb },
                { HovercastCursorType.Index, CursorType.LeftIndex },
                { HovercastCursorType.Middle, CursorType.LeftMiddle },
                { HovercastCursorType.Ring, CursorType.LeftRing },
                { HovercastCursorType.Pinky, CursorType.LeftPinky },
                { HovercastCursorType.Look, CursorType.Look }
            };

            vRightCursorConvertMap = new Dictionary <HovercastCursorType, CursorType> {
                { HovercastCursorType.Palm, CursorType.RightPalm },
                { HovercastCursorType.Thumb, CursorType.RightThumb },
                { HovercastCursorType.Index, CursorType.RightIndex },
                { HovercastCursorType.Middle, CursorType.RightMiddle },
                { HovercastCursorType.Ring, CursorType.RightRing },
                { HovercastCursorType.Pinky, CursorType.RightPinky },
                { HovercastCursorType.Look, CursorType.Look }
            };

            OnSideChange += (() => {});
        }
Exemplo n.º 2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            vSetup               = gameObject.GetComponent <HovercursorSetup>();
            vFakeItem            = new FakeItemState();
            vFakeItem.ItemAutoId = 123;

            ActiveCursorTypes = new CursorType[0];
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            vSetup               = gameObject.GetComponent <HovercursorSetup>();
            vFakeItem            = new FakeItemState();
            vFakeItem.ItemAutoId = 123;

            vActiveCursorTypes = new ReadList <CursorType>();
            ActiveCursorTypes  = vActiveCursorTypes.ReadOnly;

            vFakeInteractions = new ReadOnlyCollection <IBaseItemInteractionState>(
                new List <IBaseItemInteractionState>());
            vFakePlanes = new ReadOnlyCollection <PlaneData>(new List <PlaneData>());
        }
Exemplo n.º 4
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public HoverboardState(ItemPanel[] pItemPanels, HovercursorSetup pHovercusorSetup,
                               InteractionSettings pInterSett, Transform pBaseTx)
        {
            vInteractSett    = pInterSett;
            vHovercusorSetup = pHovercusorSetup;
            vBaseTx          = pBaseTx;
            vProjectionMap   = new ListMap <CursorType, ProjectionState>(EnumIntKeyComparer.CursorType);

            ////

            var panels   = new List <PanelState>();
            var allItems = new List <ItemTree>();

            foreach (ItemPanel itemPanel in pItemPanels)
            {
                var panel = new PanelState(itemPanel, vInteractSett);
                panel.InteractionPlane = new PlaneData("Hoverboard.Panel-" + panels.Count,
                                                       ((GameObject)panel.ItemPanel.DisplayContainer).transform, Vector3.up);
                panels.Add(panel);

                foreach (LayoutState layout in panel.FullLayouts)
                {
                    layout.ItemLayout.SetRadioSiblingsFunc(GetRadioSiblings);

                    foreach (BaseItemState item in layout.FullItems)
                    {
                        var tree = new ItemTree {
                            Panel  = panel,
                            Layout = layout,
                            Item   = item
                        };

                        allItems.Add(tree);
                    }
                }
            }

            vAllItems    = allItems.ToArray();
            vActiveItems = new List <ItemTree>();
            vActiveCursorInteractions = new ReadList <IBaseItemInteractionState>();
            vActiveCursorPlanes       = new ReadList <PlaneData>();

            FullPanels        = panels.ToArray();
            Panels            = new ReadOnlyCollection <IHoverboardPanelState>(FullPanels);
            ActiveCursorTypes = new ReadOnlyCollection <CursorType>(vInteractSett.Cursors);
        }
Exemplo n.º 5
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            ItemHierarchy = UnityUtil.FindComponentOrFail(ItemHierarchy, Domain);
            Hovercursor   = UnityUtil.FindComponentOrFail(Hovercursor, Domain);

            DefaultItemVisualSettings = UnityUtil.CreateComponent <HovercastItemVisualSettings,
                                                                   HovercastItemVisualSettingsStandard>(DefaultItemVisualSettings, gameObject, Domain);
            DefaultItemVisualSettings.IsDefaultSettingsComponent = true;

            InteractionSettings = UnityUtil.FindComponentOrCreate <HovercastInteractionSettings,
                                                                   HovercastInteractionSettings>(InteractionSettings, gameObject, Domain);

            Input = UnityUtil.FindComponentOrFail(Input, Domain);

            vState = new HovercastState(ItemHierarchy.GetRoot(), Hovercursor,
                                        InteractionSettings.GetSettings(), Input, gameObject.transform);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void Awake()
        {
            Panels      = UnityUtil.FindComponentsOrFail(Panels, Domain);
            Hovercursor = UnityUtil.FindComponentOrFail(Hovercursor, Domain);

            DefaultItemVisualSettings = UnityUtil.CreateComponent <HoverboardItemVisualSettings,
                                                                   HoverboardItemVisualSettingsStandard>(DefaultItemVisualSettings, gameObject, Domain);
            DefaultItemVisualSettings.IsDefaultSettingsComponent = true;

            ProjectionVisualSettings = UnityUtil.FindComponentOrCreate <
                HoverboardProjectionVisualSettings, HoverboardProjectionVisualSettingsStandard>(
                ProjectionVisualSettings, gameObject, Domain);

            InteractionSettings = UnityUtil.FindComponentOrCreate <HoverboardInteractionSettings,
                                                                   HoverboardInteractionSettings>(InteractionSettings, gameObject, Domain);

            vState = new HoverboardState(Panels.Select(x => x.GetPanel()).ToArray(), Hovercursor,
                                         InteractionSettings.GetSettings(), gameObject.transform);

            vPrevActiveCursorTypes = new CursorType[0];
            vProjMap = new Dictionary <CursorType, UiProjection>();
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public HoverboardState(ItemPanel[] pItemPanels, HovercursorSetup pHovercusorSetup,
                               InteractionSettings pInterSett, Transform pBaseTx)
        {
            vInteractSett    = pInterSett;
            vHovercusorSetup = pHovercusorSetup;
            vBaseTx          = pBaseTx;
            vProjectionMap   = new Dictionary <CursorType, ProjectionState>();

            ////

            var panels   = new List <PanelState>();
            var allItems = new List <ItemTree>();

            foreach (ItemPanel itemPanel in pItemPanels)
            {
                var panel = new PanelState(itemPanel, vInteractSett);
                panel.InteractionPlane = new PlaneData("Hoverboard.Panel-" + panels.Count,
                                                       ((GameObject)panel.ItemPanel.DisplayContainer).transform, Vector3.up);
                panels.Add(panel);

                foreach (GridState grid in panel.Grids)
                {
                    foreach (BaseItemState item in grid.Items)
                    {
                        var tree = new ItemTree {
                            Panel = panel,
                            Grid  = grid,
                            Item  = item
                        };

                        allItems.Add(tree);
                    }
                }
            }

            Panels            = panels.ToArray();
            vAllItems         = allItems.ToArray();
            ActiveCursorTypes = new CursorType[0];
        }
Exemplo n.º 8
0
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		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 += (() => {});
		}