Ejemplo n.º 1
0
        public static IUIBuilder AddUIComponents(this IUIBuilder builder)
        {
            AddAddTemplates(builder);
            AddComponents(builder.Services);

            return(builder);
        }
Ejemplo n.º 2
0
        public virtual void CreateUI(IUIBuilder builder)
        {
            _group = new UIGroup(builder);

            var visible = false;
            var group   = new UIGroup(_group);

            MainTitle = _group.CreateButton("Main", () => group.SetVisible(visible = !visible), new Color(0.3f, 0.3f, 0.3f), Color.white, true);

            SmoothingSlider            = group.CreateSlider("Plugin:Smoothing", "Smoothing (%)", 0.1f, 0.0f, 0.99f, true, true, true, "P0");
            ReferenceLengthScaleSlider = group.CreateSlider("Device:ReferenceLengthScale", "Reference Length (%)", 1.0f, 0, 3, true, true, true, "P0");
            ReferenceRadiusScaleSlider = group.CreateSlider("Device:ReferenceRadiusScale", "Reference Radius (%)", 3.0f, 0, 5, true, true, true, "P0");

            group.SetVisible(false);

            CreateL0AxisUI(_group);
            CreateL1AxisUI(_group);
            CreateL2AxisUI(_group);
            CreateR0AxisUI(_group);
            CreateR1AxisUI(_group);
            CreateR2AxisUI(_group);
            CreateV0AxisUI(_group);
            CreateA0AxisUI(_group);
            CreateA1AxisUI(_group);
            CreateA2AxisUI(_group);
        }
        public virtual void DestroyUI(IUIBuilder builder)
        {
            builder.Destroy(RefreshButton);
            builder.Destroy(Spacer);

            UIManager.RemoveAction(RefreshAction);
        }
Ejemplo n.º 4
0
        public override void DestroyUI(IUIBuilder builder)
        {
            base.DestroyUI(builder);

            builder.Destroy(TargetChooser);
            builder.Destroy(CaptureOriginButton);
        }
Ejemplo n.º 5
0
        public void CreateUI(IUIBuilder builder)
        {
            DataParserChooser = builder.CreatePopup("Plugin:ValuesSource:DataParser", "Data type", new List <string> {
                "TCode"
            }, "TCode", DataParserChooserCallback);
            DataParserChooserCallback(DataParserChooser.val);

            CreateCustomUI(builder);

            StartStopButtonGroup = builder.CreateHorizontalGroup(510, 50, new Vector2(10, 0), 2, idx => builder.CreateButtonEx());
            var startButton = StartStopButtonGroup.items[0].GetComponent <UIDynamicButton>();

            startButton.buttonText.fontSize = 25;
            startButton.label       = "Start";
            startButton.buttonColor = new Color(0.309f, 1f, 0.039f) * 0.8f;
            startButton.textColor   = Color.white;
            startButton.button.onClick.AddListener(StartCallback);

            var stopButton = StartStopButtonGroup.items[1].GetComponent <UIDynamicButton>();

            stopButton.buttonText.fontSize = 25;
            stopButton.label       = "Stop";
            stopButton.buttonColor = new Color(1f, 0.168f, 0.039f) * 0.8f;
            stopButton.textColor   = Color.white;
            stopButton.button.onClick.AddListener(StopCallback);
        }
Ejemplo n.º 6
0
        protected override void CreateCustomUI(IUIBuilder builder)
        {
            TargetChooser       = builder.CreateScrollablePopup("MotionSource:PhysicsLink:Target", "Select Target", null, null, TargetChooserCallback, true);
            CaptureOriginButton = builder.CreateButton("Capture Origin", CaptureOriginCallback, true);

            FindAtoms();
        }
Ejemplo n.º 7
0
        private static void AddTemplates(IUIBuilder builder)
        {
            const string blackTemplate = TemplateNames.TEST;
            const string assemblyName  = "Liquidity2.UI.Present";

            //builder.AddTemplate("name", "path");
        }
Ejemplo n.º 8
0
        public static IUIBuilder AddWindows(this IUIBuilder builder)
        {
            AddTemplates(builder);
            AddWindows(builder.Services);

            return(builder);
        }
        public override void CreateUI(IUIBuilder builder)
        {
            AnimationChooser = builder.CreatePopup("MotionSource:Animation", "Select Animation", null, null, AnimationChooserCallback);

            base.CreateUI(builder);

            FindAnimations();
        }
Ejemplo n.º 10
0
        public void DestroyUI(IUIBuilder builder)
        {
            builder.Destroy(ComPortChooser);
            builder.Destroy(ButtonGroup);

            UIManager.RemoveAction(StartSerialAction);
            UIManager.RemoveAction(StopSerialAction);
        }
        public override void CreateUI(IUIBuilder builder)
        {
            MaleChooser = builder.CreatePopup("MotionSource:Male", "Select Male", null, null, MaleChooserCallback);

            base.CreateUI(builder);

            FindMales();
        }
Ejemplo n.º 12
0
        public override void CreateUI(IUIBuilder builder)
        {
            DildoChooser = builder.CreatePopup("MotionSource:D***o", "Select D***o", null, null, DildoChooserCallback);

            base.CreateUI(builder);

            FindDildos();
        }
        public override void DestroyUI(IUIBuilder builder)
        {
            builder.Destroy(FemaleChooser);
            builder.Destroy(TargetChooser);
            builder.Destroy(TargetOffsetSlider);

            base.DestroyUI(builder);
        }
Ejemplo n.º 14
0
 public override void DestroyUI(IUIBuilder builder)
 {
     base.DestroyUI(builder);
     builder.Destroy(AssetChooser);
     builder.Destroy(ComponentChooser);
     builder.Destroy(UpDirectionChooser);
     builder.Destroy(PositionOffsetSlider);
     builder.Destroy(LengthScaleSlider);
 }
Ejemplo n.º 15
0
        public void DestroyUI(IUIBuilder builder)
        {
            builder.Destroy(AddressInput);
            builder.Destroy(PortInput);
            builder.Destroy(ButtonGroup);

            UIManager.RemoveAction(StartUdpAction);
            UIManager.RemoveAction(StopUdpAction);
        }
Ejemplo n.º 16
0
        public void CreateUI(IUIBuilder builder)
        {
            CurveXAxisChooser = builder.CreateScrollablePopup($"Device:{_name}:CurveXAxis", "Curve X Axis", new List <string> {
                "L0", "L1", "L2", "L1+L2", "R0", "R1", "R2", "R1+R2", "L0+R1+R2", "Time"
            }, "L0", CurveXAxisChooserCallback, true);
            CreateTimeUI(builder);

            CurveXAxisChooserCallback("L0");
        }
 public void CreateUI(IUIBuilder builder)
 {
     SpeedSlider = builder.CreateSlider("MotionSource:Speed", "Speed", 1, 0, 10, true, true);
     AxisChooser = builder.CreateScrollablePopup("MotionSource:Axis", "Select Axis", new List <string> {
         "L0", "L1", "L2", "R0", "R1", "R2"
     }, "L0", AxisChooserCallback);
     MotionTypeChooser = builder.CreateScrollablePopup("MotionSource:Value", "Select Value", new List <string> {
         "Min", "Center", "Max", "Linear", "Smooth"
     }, "Min", AxisChooserCallback);
 }
Ejemplo n.º 18
0
        public static IUIBuilder AddUIService(this IUIBuilder builder)
        {
            var service = builder.Services;

            AddServices(service);
            AddLifecycleStageObjects(service);
            AddEventObservers(service);

            return(builder);
        }
Ejemplo n.º 19
0
        public void DestroyUI(IUIBuilder builder)
        {
            builder.Destroy(OutputTargetChooser);
            foreach (var item in _uiGroups)
            {
                item.Value?.Destroy(builder);
            }

            _uiGroups.Clear();
        }
Ejemplo n.º 20
0
        private static void AddAddTemplates(IUIBuilder builder)
        {
            const string blackTemplate = TemplateNames.BLACK;
            const string assemblyName  = "Liquidity2.UI.Components";

            //builder.AddTemplate("模板名", "路径");
            builder.AddTemplate(blackTemplate, $"/{assemblyName};component/Templates/{blackTemplate}/Window_Template.xaml");
            builder.AddTemplate(blackTemplate, $"/{assemblyName};component/Templates/{blackTemplate}/GroupWindow_Template.xaml");
            builder.AddTemplate(blackTemplate, $"/{assemblyName};component/Templates/{blackTemplate}/SearchTextBox_Template.xaml");
            builder.AddTemplate(blackTemplate, $"/{assemblyName};component/Templates/{blackTemplate}/TabControl_Template.xaml");
        }
Ejemplo n.º 21
0
        public override void CreateUI(IUIBuilder builder)
        {
            AssetChooser       = builder.CreateScrollablePopup("MotionSource:Asset", "Select Asset", null, null, AssetChooserCallback);
            ComponentChooser   = builder.CreateScrollablePopup("MotionSource:Component", "Select Component", null, null, ComponentChooserCallback);
            UpDirectionChooser = builder.CreateScrollablePopup("MotionSource:UpDirection", "Select Up Direction", new List <string> {
                "+Up", "+Right", "+Forward", "-Up", "-Right", "-Forward"
            }, "+Up", null);
            PositionOffsetSlider = builder.CreateSlider("MotionSource:PositionOffset", "Position Offset", 0, 0, 1, true, true);
            LengthScaleSlider    = builder.CreateSlider("MotionSource:LengthScale", "Length Scale", 1, 0, 1, true, true);

            base.CreateUI(builder);

            FindAssets();
        }
Ejemplo n.º 22
0
 protected override void CreateCustomUI(IUIBuilder builder)
 {
     PortInputBox = builder.CreateTextField("ValuesSource:Udp:Port", _port.ToString(), 50, s =>
     {
         var result = 0;
         if (int.TryParse(s, out result))
         {
             _port = result;
         }
         else
         {
             SuperController.LogMessage($"Failed to parse port number from: {s}");
         }
     }, canInput: true);
 }
Ejemplo n.º 23
0
        private void CreateR2AxisUI(IUIBuilder builder)
        {
            var group   = new UIGroup(builder);
            var visible = false;

            R2AxisTitle            = builder.CreateButton("Pitch | R2", () => group.SetVisible(visible = !visible), Color.yellow * 0.8f, Color.white, true);
            RangeMaxR2Slider       = group.CreateSlider("Device:R2:RangeMax", "Range Max (+/-  \u00b0)", 30, 1, 89, true, true, true, "F0");
            OutputMaxR2Slider      = group.CreateSlider("Device:R2:OutputMax", "Output Max (+/- %)", 0.5f, 0.01f, 0.5f, true, true, true, "P0");
            OffsetR2Slider         = group.CreateSlider("Device:R2:Offset", "Offset (%)", 0f, -0.25f, 0.25f, true, true, true, "P0");
            InvertR2Toggle         = group.CreateToggle("Device:R2:Invert", "Invert", false, true);
            EnableOverrideR2Toggle = group.CreateToggle("Device:R2:EnableOverride", "Enable Override", false, true);
            OverrideR2Slider       = group.CreateSlider("Device:R2:Override", "Override Value (%)", 0.5f, 0f, 1f, true, true, true, "P0");

            group.SetVisible(false);
        }
Ejemplo n.º 24
0
        private void CreateR0AxisUI(IUIBuilder builder)
        {
            var group   = new UIGroup(builder);
            var visible = false;

            R0AxisTitle            = builder.CreateButton("Twist | R0", () => group.SetVisible(visible = !visible), Color.cyan * 0.8f, Color.white, true);
            RangeMaxR0Slider       = group.CreateSlider("Device:R0:RangeMax", "Range Max (+/- \u00b0)", 90, 1, 179, true, true, true, "F0");
            OutputMaxR0Slider      = group.CreateSlider("Device:R0:OutputMax", "Output Max (+/- %)", 0.5f, 0f, 0.5f, true, true, true, "P0");
            OffsetR0Slider         = group.CreateSlider("Device:R0:Offset", "Offset (%)", 0f, -0.25f, 0.25f, true, true, true, "P0");
            InvertR0Toggle         = group.CreateToggle("Device:R0:Invert", "Invert", false, true);
            EnableOverrideR0Toggle = group.CreateToggle("Device:R0:EnableOverride", "Enable Override", false, true);
            OverrideR0Slider       = group.CreateSlider("Device:R0:Override", "Override Value (%)", 0.5f, 0f, 1f, true, true, true, "P0");

            group.SetVisible(false);
        }
Ejemplo n.º 25
0
        private void CreateL2AxisUI(IUIBuilder builder)
        {
            var group   = new UIGroup(builder);
            var visible = false;

            L2AxisTitle            = builder.CreateButton("Left/Right | L2", () => group.SetVisible(visible = !visible), Color.blue * 0.8f, Color.white, true);
            RangeMaxL2Slider       = group.CreateSlider("Device:L2:RangeMax", "Range Max (+/- cm)", 0.15f, 0.01f, 1f, true, true, true, "P2");
            OutputMaxL2Slider      = group.CreateSlider("Device:L2:OutputMax", "Output Max (+/- %)", 0.5f, 0f, 0.5f, true, true, true, "P0");
            OffsetL2Slider         = group.CreateSlider("Device:L2:Offset", "Offset (%)", 0f, -0.25f, 0.25f, true, true, true, "P0");
            InvertL2Toggle         = group.CreateToggle("Device:L2:Invert", "Invert", false, true);
            EnableOverrideL2Toggle = group.CreateToggle("Device:L2:EnableOverride", "Enable Override", false, true);
            OverrideL2Slider       = group.CreateSlider("Device:L2:Override", "Override Value (%)", 0.5f, 0f, 1f, true, true, true, "P0");

            group.SetVisible(false);
        }
Ejemplo n.º 26
0
        private void CreateL1AxisUI(IUIBuilder builder)
        {
            var group   = new UIGroup(builder);
            var visible = false;

            L1AxisTitle            = builder.CreateButton("Forward/Backward | L1", () => group.SetVisible(visible = !visible), Color.green * 0.8f, Color.white, true);
            RangeMaxL1Slider       = group.CreateSlider("Device:L1:RangeMax", "Range Max (+/- cm)", 0.15f, 0.01f, 1f, true, true, true, "P2");
            OutputMaxL1Slider      = group.CreateSlider("Device:L1:OutputMax", "Output Max (+/- %)", 0.5f, 0f, 0.5f, true, true, true, "P0");
            OffsetL1Slider         = group.CreateSlider("Device:L1:Offset", "Offset (%)", 0f, -0.25f, 0.25f, true, true, true, "P0");
            InvertL1Toggle         = group.CreateToggle("Device:L1:Invert", "Invert", false, true);
            EnableOverrideL1Toggle = group.CreateToggle("Device:L1:EnableOverride", "Enable Override", false, true);
            OverrideL1Slider       = group.CreateSlider("Device:L1:Override", "Override Value (%)", 0.5f, 0f, 1f, true, true, true, "P0");

            group.SetVisible(false);
        }
        public override void CreateUI(IUIBuilder builder)
        {
            var targets = new List <string> {
                "Auto", "V****a", "Pelvis", "Hips", "Anus", "Mouth", "Left Hand", "Right Hand", "Chest", "Left Foot", "Right Foot", "Feet"
            };
            var defaultTarget = "V****a";

            FemaleChooser      = builder.CreatePopup("MotionSource:Female", "Select Female", null, null, FemaleChooserCallback);
            TargetChooser      = builder.CreateScrollablePopup("MotionSource:FemaleTarget", "Select Target Point", targets, defaultTarget, null);
            TargetOffsetSlider = builder.CreateSlider("MotionSource:TargetOffset", "Target Offset (cm)", 0.0f, -0.15f, 0.15f, true, true, valueFormat: "P2");

            base.CreateUI(builder);

            FindFemales();
        }
Ejemplo n.º 28
0
        private void CreateL0AxisUI(IUIBuilder builder)
        {
            var group   = new UIGroup(builder);
            var visible = false;

            L0AxisTitle            = builder.CreateButton("Up/Down | L0", () => group.SetVisible(visible = !visible), Color.red * 0.8f, Color.white, true);
            RangeMaxL0Slider       = group.CreateSlider("Device:L0:RangeMax", "Range Max (%)", 1f, 0.01f, 1f, v => RangeMinL0Slider.max = v - 0.01f, true, true, true, "P0");
            RangeMinL0Slider       = group.CreateSlider("Device:L0:RangeMin", "Range Min (%)", 0f, 0f, 0.99f, v => RangeMaxL0Slider.min = v + 0.01f, true, true, true, "P0");
            OutputMaxL0Slider      = group.CreateSlider("Device:L0:OutputMax", "Output Max (%)", 1f, 0f, 1f, v => OutputMinL0Slider.max = v, true, true, true, "P0");
            OutputMinL0Slider      = group.CreateSlider("Device:L0:OutputMin", "Output Min (%)", 0, 0f, 1f, v => OutputMaxL0Slider.min = v, true, true, true, "P0");
            InvertL0Toggle         = group.CreateToggle("Device:L0:Invert", "Invert", true, true);
            EnableOverrideL0Toggle = group.CreateToggle("Device:L0:EnableOverride", "Enable Override", false, true);
            OverrideL0Slider       = group.CreateSlider("Device:L0:Override", "Override Value (%)", 0.5f, 0f, 1f, true, true, true, "P0");

            group.SetVisible(false);
        }
Ejemplo n.º 29
0
        public void CreateUI(IUIBuilder builder)
        {
            var names = _outputTargets.Select(x => x.Key).ToList();

            OutputTargetChooser = builder.CreateScrollablePopup("Device:OutputTarget", "Select Output Target", names, names.First(), OuputTargetChooserCallback);

            foreach (var item in _outputTargets)
            {
                var group = new UIGroup(builder);
                item.Value?.CreateUI(group);
                group.SetVisible(false);
                _uiGroups[item.Key] = group;
            }

            OuputTargetChooserCallback(OutputTargetChooser.val);
        }
        public virtual void CreateUI(IUIBuilder builder)
        {
            RefreshButton = builder.CreateButton("Refresh", () =>
            {
                ComponentCache.Clear();
                RefreshButtonCallback();
            });
            RefreshButton.buttonColor = new Color(0, 0.75f, 1f) * 0.8f;
            RefreshButton.textColor   = Color.white;

            Spacer = builder.CreateSpacer(200);

            RefreshAction = UIManager.CreateAction("Refresh Motion Source", () =>
            {
                ComponentCache.Clear();
                RefreshButtonCallback();
            });
        }