summaryrefslogtreecommitdiff
path: root/VRCSDK3Avatars/Assets/Resources/GestureManager/Scripts/Editor/Modules/Vrc3/RadialPage.cs
blob: 1147346014bfad3a30fa05d6aacf7124736bd870 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#if VRC_SDK_VRCSDK3
using System.Collections.Generic;
using GestureManager.Scripts.Editor.Modules.Vrc3.Params;
using GestureManager.Scripts.Editor.Modules.Vrc3.RadialButtons;
using VRC.SDK3.Avatars.ScriptableObjects;

namespace GestureManager.Scripts.Editor.Modules.Vrc3
{
    public class RadialPage
    {
        private readonly IReadOnlyList<RadialMenuItem> _controls;
        private readonly VRCExpressionsMenu _menu;
        private readonly RadialMenu _radialMenu;
        public readonly Vrc3Param Param;
        public readonly float Value;

        public RadialPage(RadialMenu radialMenu, VRCExpressionsMenu menu, Vrc3Param param, float value)
        {
            _radialMenu = radialMenu;
            _menu = menu;
            Param = param;
            Value = value;
        }

        public RadialPage(RadialMenu radialMenu, IReadOnlyList<RadialMenuItem> controls)
        {
            _radialMenu = radialMenu;
            _controls = controls;
        }

        public void Open()
        {
            if (_menu) _radialMenu.SetMenu(_menu);
            else _radialMenu.SetCustom(_controls);
        }
    }
}
#endif