Exemplo n.º 1
0
        public void Init(IPlayerController player, IHandModeController modeCtl)
        {
            // Because these are generated values
            var primaryModes = modeCtl.PrimaryModes;
            var gripModes    = modeCtl.GripModes;

            var root = new VStackPanelElement();

            var primaryPanel = new WrapPanelElement();

            root.Children.Add(new MarginElement {
                Margin  = Vector4.one * -MARGIN,
                Content = primaryPanel,
            });

            root.Children.Add(new VSpacerElement {
                Height = 20.0f,
            });

            var gripPanel = new WrapPanelElement();

            root.Children.Add(new MarginElement {
                Margin  = Vector4.one * -MARGIN,
                Content = gripPanel,
            });

            for (int i = 0; i < primaryModes.Count; ++i)
            {
                var mode = primaryModes[i];

                var item = InstantiateItem(player.ModeMenuItem, ModeMenuItem.ModeType.Primary, i, mode.Name);

                if (i == modeCtl.CurrPrimaryMode)
                {
                    item.SetSelected();
                }

                var el = new MenuItemElement(item, Z_GAP);
                primaryPanel.Children.Add(new MarginElement {
                    Margin  = Vector4.one * MARGIN,
                    Content = el,
                });
            }

            for (int i = 0; i < gripModes.Count; ++i)
            {
                var mode = gripModes[i];

                var item = InstantiateItem(player.ModeMenuItem, ModeMenuItem.ModeType.Grip, i, mode.Name);

                if (i == modeCtl.CurrGripMode)
                {
                    item.SetSelected();
                }

                var el = new MenuItemElement(item, Z_GAP);
                gripPanel.Children.Add(new MarginElement {
                    Margin  = Vector4.one * MARGIN,
                    Content = el,
                });
            }

            root.Measure(new Vector2(300.0f, float.PositiveInfinity));
            root.Arrange(new Rect(root.DesiredSize * -0.5f, root.DesiredSize));
        }
Exemplo n.º 2
0
 public ModeMenuFunction(IHandModeController _modeCtl)
 {
     modeCtl = _modeCtl;
 }