Open jamesmoney opened 7 years ago
I think this sounds like a great approach - I've done custom input systems like this before outside of Unity, something like this would be a great next step for the current tool / input system.
Great! I have a guy working on it.
@rossTnick I have this working, we're testing it on a project that needed a custom control to see if it scales like we need. We're also adding some noise filtering/smoothing to the wand to see if that will be it less jerky for UI controls.
Currently, the DriveTool and ITool code is mono-lithic in that it provides one drive control system and no per tool interface. An example of a custom drive setup would be a orbit based controls versus the world space movement/rotation drive controls.
To support this we suggest splitting the ITool interface into ITool, IButton, IAnalog as well as an abstract class called BaseTool. ITool would implement the init() and showdown() methods, as well as, the tool name. The button events (down, click, drag) would migrate to IButton. Finally, the IAnalog interface would be created similar to how DriveTool works now. The current DriveTool code would become this abstract class. This permits the developer to use the existing drive tools, but allow overriding of the analog/buttons in DriveTool for custom camera controls.
@rossTnick @livingenvironmentslab Comments?