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); }
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"); }
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); }
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); }
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); }