Example #1
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);
        }
Example #2
0
        public void CreateUI()
        {
            pluginLabelJSON.val = PluginName;

            _builder = new UIBuilder();
            _group   = new UIGroup(_builder);
            _group.BlacklistStorable("Device Report");

            PluginTitle = _group.CreateDisabledButton("Plugin", new Color(0.3f, 0.3f, 0.3f), Color.white);

            PresetButtonGroup = _group.CreateHorizontalGroup(510, 50, new Vector2(10, 0), 3, idx => _group.CreateButtonEx());
            var saveButton = PresetButtonGroup.items[0].GetComponent <UIDynamicButton>();

            saveButton.buttonText.fontSize = 25;
            saveButton.label       = "Save Config";
            saveButton.buttonColor = new Color(0.309f, 1f, 0.039f) * 0.8f;
            saveButton.textColor   = Color.white;
            saveButton.button.onClick.AddListener(SaveConfigCallback);

            var loadButton = PresetButtonGroup.items[1].GetComponent <UIDynamicButton>();

            loadButton.buttonText.fontSize = 25;
            loadButton.label       = "Load Config";
            loadButton.buttonColor = new Color(1f, 0.168f, 0.039f) * 0.8f;
            loadButton.textColor   = Color.white;
            loadButton.button.onClick.AddListener(LoadConfigCallback);

            var defaultButton = PresetButtonGroup.items[2].GetComponent <UIDynamicButton>();

            defaultButton.buttonText.fontSize = 25;
            defaultButton.label       = "As Default";
            defaultButton.buttonColor = new Color(1f, 0.870f, 0.039f) * 0.8f;
            defaultButton.textColor   = Color.white;
            defaultButton.button.onClick.AddListener(SaveDefaultConfigCallback);

            OutputTargetSettings = new OutputTargetSettings(t => _outputTarget = t);
            OutputTargetSettings.CreateUI(_group);

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

            DebugTitle = _group.CreateButton("Debug", () => debugGroup.SetVisible(visible = !visible), new Color(0.3f, 0.3f, 0.3f), Color.white);

            DebugDrawEnableToggle          = debugGroup.CreateToggle("Plugin:DebugDrawEnable", "Enable Debug", false);
            DeviceReportText               = debugGroup.CreateTextField("Device Report", "", 320);
            DeviceReportText.text.font     = Font.CreateDynamicFontFromOSFont("Consolas", 24);
            DeviceReportText.text.fontSize = 24;

            debugGroup.SetVisible(false);

            MotionSourceTitle   = _group.CreateDisabledButton("Motion Source", new Color(0.3f, 0.3f, 0.3f), Color.white);
            MotionSourceChooser = _group.CreatePopup("Plugin:MotionSourceChooser", "Select motion source", new List <string> {
                "Male + Female", "Asset + Female", "D***o + Female", "Animation Pattern", "Range Test"
            }, "Male + Female", MotionSourceChooserCallback);

            DeviceChooserCallback("T-code");
            MotionSourceChooserCallback("Male + Female");
        }
Example #3
0
        public void CreateUI(IUIBuilder builder)
        {
            ComPortChooser = builder.CreatePopup("OutputTarget:Serial:ComPortChooser", "Select COM port", SerialPort.GetPortNames().ToList(), "None", null);

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

            startSerialButton.label = "Start Serial";
            startSerialButton.button.onClick.AddListener(StartSerial);

            var stopSerialButton = ButtonGroup.items[1].GetComponent <UIDynamicButton>();

            stopSerialButton.label = "Stop Serial";
            stopSerialButton.button.onClick.AddListener(StopSerial);

            StartSerialAction = UIManager.CreateAction("Start Serial", StartSerial);
            StopSerialAction  = UIManager.CreateAction("Stop Serial", StopSerial);
        }
        private void CreateTimeUI(IUIBuilder builder)
        {
            _timeGroup = new UIGroup(builder);

            TimeSliderGroup = _timeGroup.CreateHorizontalGroup(510, 125, new Vector2(10, 0), 2, idx => _timeGroup.CreateSliderEx(), true);
            TimeSpanSlider  = new JSONStorableFloat($"Device:{_name}:TimeSpan", 1, v =>
            {
                TimeSpanSlider.valNoCallback = Mathf.Round(v);
                TimeScrubberSlider.max       = Mathf.Round(v);
                _editor.SetDrawScale(_storable, new Vector2(v, 1), _offset, true);
            }, 1, 300, true, true);

            TimeScrubberSlider = new JSONStorableFloat($"Device:{_name}:TimeScrubberPosition", 0, 0, TimeSpanSlider.val, true, true);

            var timeSpanSlider = TimeSliderGroup.items[0].GetComponent <UIDynamicSlider>();

            timeSpanSlider.Configure("Time Span", TimeSpanSlider.min, TimeSpanSlider.max, TimeSpanSlider.defaultVal, valFormat: "F0", showQuickButtons: false);
            timeSpanSlider.defaultButtonEnabled = false;
            timeSpanSlider.slider.wholeNumbers  = true;
            TimeSpanSlider.slider = timeSpanSlider.slider;

            var timeScrubberSlider = TimeSliderGroup.items[1].GetComponent <UIDynamicSlider>();

            timeScrubberSlider.Configure("Scrubber", TimeScrubberSlider.min, TimeScrubberSlider.max, TimeScrubberSlider.defaultVal, valFormat: "F2", showQuickButtons: false);
            TimeScrubberSlider.slider = timeScrubberSlider.slider;

            TimeToggleGroup   = _timeGroup.CreateHorizontalGroup(510, 50, new Vector2(10, 0), 2, idx => _timeGroup.CreateToggleEx(), true);
            TineRunningToggle = new JSONStorableBool($"Device:{_name}:TimeRunning", false);
            TimeLoopingToggle = new JSONStorableBool($"Device:{_name}:TimeLooping", true);

            var timeRunningToggle = TimeToggleGroup.items[0].GetComponent <UIDynamicToggle>();

            timeRunningToggle.label  = "Running";
            TineRunningToggle.toggle = timeRunningToggle.toggle;

            var timelLoopingToggle = TimeToggleGroup.items[1].GetComponent <UIDynamicToggle>();

            timelLoopingToggle.label = "Looping";
            TimeLoopingToggle.toggle = timelLoopingToggle.toggle;

            _timeGroup.SetVisible(false);
        }
Example #5
0
        public void CreateUI(IUIBuilder builder)
        {
            AddressInput = builder.CreateTextInput("OutputTarget:Udp:Address", "Address:", "127.0.0.1", 50);
            PortInput    = builder.CreateTextInput("OutputTarget:Udp:Port", "Port:", "8889", 50);
            IpText       = AddressInput.storable;
            PortText     = PortInput.storable;

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

            startSerialButton.label = "Start Udp";
            startSerialButton.button.onClick.AddListener(StartUdp);

            var stopSerialButton = ButtonGroup.items[1].GetComponent <UIDynamicButton>();

            stopSerialButton.label = "Stop Udp";
            stopSerialButton.button.onClick.AddListener(StopUdp);

            StartUdpAction = UIManager.CreateAction("Start Udp", StartUdp);
            StopUdpAction  = UIManager.CreateAction("Stop Udp", StopUdp);
        }
Example #6
0
        public void CreateUI()
        {
            pluginLabelJSON.val = PluginName;

            _builder = new UIBuilder(this);
            _group   = new UIGroup(_builder);
            _group.BlacklistStorable("Device Report");

            PluginTitle = _group.CreateDisabledButton("Plugin", new Color(0.3f, 0.3f, 0.3f), Color.white);

            PresetButtonGroup = _group.CreateHorizontalGroup(510, 50, new Vector2(10, 0), 3, idx => _group.CreateButtonEx());
            var saveButton = PresetButtonGroup.items[0].GetComponent <UIDynamicButton>();

            saveButton.buttonText.fontSize = 25;
            saveButton.label       = "Save Config";
            saveButton.buttonColor = new Color(0.309f, 1f, 0.039f) * 0.8f;
            saveButton.textColor   = Color.white;
            saveButton.button.onClick.AddListener(SaveConfigCallback);

            var loadButton = PresetButtonGroup.items[1].GetComponent <UIDynamicButton>();

            loadButton.buttonText.fontSize = 25;
            loadButton.label       = "Load Config";
            loadButton.buttonColor = new Color(1f, 0.168f, 0.039f) * 0.8f;
            loadButton.textColor   = Color.white;
            loadButton.button.onClick.AddListener(LoadConfigCallback);

            var defaultButton = PresetButtonGroup.items[2].GetComponent <UIDynamicButton>();

            defaultButton.buttonText.fontSize = 25;
            defaultButton.label       = "As Default";
            defaultButton.buttonColor = new Color(1f, 0.870f, 0.039f) * 0.8f;
            defaultButton.textColor   = Color.white;
            defaultButton.button.onClick.AddListener(SaveDefaultConfigCallback);

            DebugDrawEnableToggle = _group.CreateToggle("Plugin:DebugDrawEnable", "Enable Debug", false);

            var rangeVisible = false;
            var rangeGroup   = new UIGroup(_group);

            RangeTitle = _group.CreateButton("Range", () => rangeGroup.SetVisible(rangeVisible = !rangeVisible), new Color(0.3f, 0.3f, 0.3f), Color.white);

            UpDirectionChooser = rangeGroup.CreateScrollablePopup("Plugin:UpDirection", "Up Direction", new List <string> {
                "+Up", "+Right", "+Forward", "-Up", "-Right", "-Forward"
            }, "+Up", null);
            UpRangeSlider      = rangeGroup.CreateSlider("Plugin:UpRange", "Up Range (+/- cm)", 0.08f, 0.01f, 0.25f, true, true, valueFormat: "P0");
            RightRangeSlider   = rangeGroup.CreateSlider("Plugin:RightRange", "Right Range (+/- cm)", 0.05f, 0.01f, 0.25f, true, true, valueFormat: "P0");
            ForwardRangeSlider = rangeGroup.CreateSlider("Plugin:ForwardRange", "Forward Range (+/- cm)", 0.05f, 0.01f, 0.25f, true, true, valueFormat: "P0");

            YawRangeSlider   = rangeGroup.CreateSlider("Plugin:YawRange", "Yaw Range (+/- deg)", 30, 1, 90, true, true, valueFormat: "F0");
            PitchRangeSlider = rangeGroup.CreateSlider("Plugin:PitchRange", "Pitch Range (+/- deg)", 30, 1, 90, true, true, valueFormat: "F0");
            RollRangeSlider  = rangeGroup.CreateSlider("Plugin:RollRange", "Roll Range (+/- deg)", 30, 1, 90, true, true, valueFormat: "F0");
            rangeGroup.SetVisible(false);

            _valuesSourceGroup = new UIGroup(_group);
            var valuesSourceVisible = true;

            ValuesSourceTitle                = _group.CreateButton("Values Source", () => _valuesSourceGroup.SetVisible(valuesSourceVisible = !valuesSourceVisible), new Color(0.3f, 0.3f, 0.3f), Color.white);
            ValuesSourceReportText           = _valuesSourceGroup.CreateTextField("Values Report", "", 230);
            ValuesSourceReportText.text.font = Font.CreateDynamicFontFromOSFont("Consolas", 14);

            ValuesSourceChooser = _valuesSourceGroup.CreatePopup("Plugin:ValuesSource", "Select values source", new List <string> {
                "None", "Udp"
            }, "None", ValuesSourceChooserCallback);

            _motionTargetGroup = new UIGroup(_group);
            var motionTargetVisible = true;

            MotionTargetTitle   = _group.CreateButton("Motion Target", () => _motionTargetGroup.SetVisible(motionTargetVisible = !motionTargetVisible), new Color(0.3f, 0.3f, 0.3f), Color.white, true);
            MotionTargetChooser = _motionTargetGroup.CreatePopup("Plugin:MotionTarget", "Select motion target", new List <string> {
                "None", "Physics Link", "Force"
            }, "None", MotionTargetChooserCallback, true);

            ValuesSourceChooserCallback(null);
            MotionTargetChooserCallback(null);
        }