This class represents a single layer in the HandRadialMenu. Each item in the layer is displayed around the radial menu’s circle.
Instance Fields and Properties
|float backAngle||What’s the angle pointing towards the back button on this menu? If there is a back button. This is used to orient the back button towards the direction the finger just came from.|
|HandMenuItem items||A list of menu items to display in this menu layer.|
|string layerName||Name of the layer, this is used for layer traversal, so make sure you get the spelling right! Perhaps use const strings for these.|
|float startAngle||An angle offset for the layer, if you want a specific orientation for the menu’s contents. Note this may not behave as expected if you’re setting this manually and using the backAngle as well.|
|HandRadialLayer||Creates a menu layer, this overload will calculate a backAngle if there are any back actions present in the item list.|
Basic layered hand menu
The HandMenuRadial is an
IStepper, so it should be registered with
StereoKitApp.AddStepper so it can run by itself! It’s recommended to
keep track of it anyway, so you can remove it when you’re done with it
The constructor uses a params style argument list that makes it easy and clean to provide lists of items! This means you can assemble the whole menu on a single ‘line’. You can still pass arrays instead if you prefer that!
handMenu = SK.AddStepper(new HandMenuRadial( new HandRadialLayer("Root", new HandMenuItem("File", null, null, "File"), new HandMenuItem("Edit", null, null, "Edit"), new HandMenuItem("About", null, () => Log.Info(SK.VersionName)), new HandMenuItem("Cancel", null, null)), new HandRadialLayer("File", new HandMenuItem("New", null, () => Log.Info("New")), new HandMenuItem("Open", null, () => Log.Info("Open")), new HandMenuItem("Close", null, () => Log.Info("Close")), new HandMenuItem("Back", null, null, HandMenuAction.Back)), new HandRadialLayer("Edit", new HandMenuItem("Copy", null, () => Log.Info("Copy")), new HandMenuItem("Paste", null, () => Log.Info("Paste")), new HandMenuItem("Back", null, null, HandMenuAction.Back))));
Found an issue with these docs, or have some additional questions? Create an Issue on Github!