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)); }
public ModeMenuFunction(IHandModeController _modeCtl) { modeCtl = _modeCtl; }