When you area reclaim, it normally just grabs everything, no matter if you actually need energy or metal.
With this widget, when you issue an area reclaim command centered on a specific type of feature (energy or metal) it will only reclaim features of the type in the center.
This means you don't need to reclaim rocks and corpses when you only need energy, and don't need to reclaim trees and vegetation when you only need metal.
You activate the widget by starting an area reclaim from a reclaimable feature (like a tree or rock), by clicking on the feature and dragging outward.
When activated, the widget will only reclaim metal or energy objects, depending on whether you centered the area reclaim circle on a metal or energy object.
v1.1
- uses a basic nearest-neighbor traveling salesman approach for choosing the feature reclaim order for mobile units
- uses mostly-optimum circular reclaim for stationary units like nanos, which minimizes turn waiting
- can now choose the center feature more easily at any camera angle
- properly finds future unit position when unit was given a move command in the queue before the area reclaim command
- now treats features with both metal and energy as metal-only, so an area reclaim for metal won't pick up extra energy (build storage if you don't want to waste the energy)
- better respects the original reclaim circle, instead of sometimes reclaiming features outside it
- performance improvements
- Basic functionality.
- spread super-long updates over multiple frames or widget updates so it won't lag no matter how many builders/features are involved
- resource prioritizing (if you're E stalling but have max M, go for E, and vice versa...)
- maybe a custom queue to look nicer and take into account new reclaimable features that appear while reclaiming (how would I draw a custom area command in the queue, instead of just an icon?)
- maybe take into account the pathfinder, so won't consider a feature on the other side of an impassible wall to be "nearby"

Commander reclaiming several different areas with move commands between.

Nano reclaiming a mostly-optimal circle.