Skip to content

Commit 8445977

Browse files
committed
FIX: Visualizers are now created even when no current device exist. This was previously incorrectly skipped, but only value control visualizer needs a device to show anything useful.
1 parent 0e58d8f commit 8445977

File tree

1 file changed

+28
-30
lines changed

1 file changed

+28
-30
lines changed

Assets/Samples/Visualizers/InputControlVisualizer.cs

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -163,30 +163,29 @@ private void ResolveControl()
163163
SetupVisualizer();
164164
}
165165

166-
private void SetupVisualizer()
166+
private static VisualizationHelpers.Visualizer CreateVisualizer(Mode mode, InputControl control, int historySamples)
167167
{
168-
if (m_Control == null)
169-
{
170-
m_Visualizer = null;
171-
return;
172-
}
173-
174-
switch (m_Visualization)
168+
switch (mode)
175169
{
176170
case Mode.Value:
177171
{
178-
var valueType = m_Control.valueType;
172+
// This visualization mode requires a control
173+
if (control == null)
174+
return null;
175+
176+
VisualizationHelpers.Visualizer visualizer = null;
177+
var valueType = control.valueType;
179178
if (valueType == typeof(Vector2))
180-
m_Visualizer = new VisualizationHelpers.Vector2Visualizer(m_HistorySamples);
179+
visualizer = new VisualizationHelpers.Vector2Visualizer(historySamples);
181180
else if (valueType == typeof(float))
182-
m_Visualizer = new VisualizationHelpers.ScalarVisualizer<float>(m_HistorySamples)
181+
visualizer = new VisualizationHelpers.ScalarVisualizer<float>(historySamples)
183182
{
184183
////TODO: pass actual min/max limits of control
185184
limitMax = 1,
186185
limitMin = 0
187186
};
188187
else if (valueType == typeof(int))
189-
m_Visualizer = new VisualizationHelpers.ScalarVisualizer<int>(m_HistorySamples)
188+
visualizer = new VisualizationHelpers.ScalarVisualizer<int>(historySamples)
190189
{
191190
////TODO: pass actual min/max limits of control
192191
limitMax = 1,
@@ -196,66 +195,65 @@ private void SetupVisualizer()
196195
{
197196
////TODO: generic visualizer
198197
}
199-
break;
198+
return visualizer;
200199
}
201200

202201
case Mode.Events:
203202
{
204-
var visualizer = new VisualizationHelpers.TimelineVisualizer(m_HistorySamples)
203+
var visualizer = new VisualizationHelpers.TimelineVisualizer(historySamples)
205204
{
206205
timeUnit = VisualizationHelpers.TimelineVisualizer.TimeUnit.Frames,
207-
historyDepth = m_HistorySamples,
206+
historyDepth = historySamples,
208207
showLimits = true,
209208
limitsY = new Vector2(0, 5) // Will expand upward automatically
210209
};
211-
m_Visualizer = visualizer;
212210
visualizer.AddTimeline("Events", Color.green,
213211
VisualizationHelpers.TimelineVisualizer.PlotType.BarChart);
214-
break;
212+
return visualizer;
215213
}
216214

217215
case Mode.MaximumLag:
218216
{
219-
var visualizer = new VisualizationHelpers.TimelineVisualizer(m_HistorySamples)
217+
var visualizer = new VisualizationHelpers.TimelineVisualizer(historySamples)
220218
{
221219
timeUnit = VisualizationHelpers.TimelineVisualizer.TimeUnit.Frames,
222-
historyDepth = m_HistorySamples,
220+
historyDepth = historySamples,
223221
valueUnit = new GUIContent("ms"),
224222
showLimits = true,
225223
limitsY = new Vector2(0, 6)
226224
};
227-
m_Visualizer = visualizer;
228225
visualizer.AddTimeline("MaxLag", Color.red,
229226
VisualizationHelpers.TimelineVisualizer.PlotType.BarChart);
230-
break;
227+
return visualizer;
231228
}
232229

233230
case Mode.Bytes:
234231
{
235-
var visualizer = new VisualizationHelpers.TimelineVisualizer(m_HistorySamples)
232+
var visualizer = new VisualizationHelpers.TimelineVisualizer(historySamples)
236233
{
237234
timeUnit = VisualizationHelpers.TimelineVisualizer.TimeUnit.Frames,
238235
valueUnit = new GUIContent("bytes"),
239-
historyDepth = m_HistorySamples,
236+
historyDepth = historySamples,
240237
showLimits = true,
241238
limitsY = new Vector2(0, 64)
242239
};
243-
m_Visualizer = visualizer;
244240
visualizer.AddTimeline("Bytes", Color.red,
245241
VisualizationHelpers.TimelineVisualizer.PlotType.BarChart);
246-
break;
242+
return visualizer;
247243
}
248244

249245
case Mode.DeviceCurrent:
250-
{
251-
m_Visualizer = new VisualizationHelpers.CurrentDeviceVisualizer();
252-
break;
253-
}
246+
return new VisualizationHelpers.CurrentDeviceVisualizer();
254247

255248
default:
256-
throw new NotImplementedException();
249+
throw new ArgumentOutOfRangeException(mode.ToString());
257250
}
258251
}
252+
253+
private void SetupVisualizer()
254+
{
255+
m_Visualizer = CreateVisualizer(m_Visualization, m_Control, m_HistorySamples);
256+
}
259257

260258
private static void OnDeviceChange(InputDevice device, InputDeviceChange change)
261259
{

0 commit comments

Comments
 (0)