Xevion/Boids

Mouse Controls

Opened this issue · 1 comments

Currently most of the UI is controlled through the UI and keyboard shortcuts, exactly no direct mouse interaction exists with the Boids. To increase the overall functionality and control over the application, the ability to click to interact with Boids themselves should be added.

This is a pretty inclusive issue describing all mouse functionality I want to add to the application.

  • Click (Left, Right, Middle, Alt/Shift/Ctrl)
    • Temporarily scare or attract Boids
      • Closely related to #8
    • Spawn individual Boids
    • Spawn groups (flocks) of Boids at once
  • Click and Drag
    • Spawn individual boids as you drag
    • Draw points at which a Flock will be generated off of
      • Need to be careful as generation could add hundreds of boids with very few points.
      • Integrate with #12.
  • Hover
    • Scare or Attract Boids (#9)

This system should be default to a very organic and user friendly configuration, but be completely configurable through the UI via simple dropdowns. These systems should be modular and easy to work with, allowing the mouse input handling scripts to interface with the Boid Controller script very smoothly.

I forgot the last input a mouse has:

  • Scrolling
    • Sliders like Boid Count, Time Scale, or Velocity Multiplier
    • The effect of hovering effects
    • Use Lerp to scale values, scrolling ranges from 1-100 and scales to the Slider's values based on the currently selected scroll control
      • Possibly use/change different scroll values based on what option is currently selected