Peon can build Townhall from HUD icons
HUD: Delete OrderToGridPos() accessor which is not necessary anymore
UserInput: uses the IsInHUDRegion() on mouse motion event
Somes orders can have an intermediate state to choose destination (move, build)
Build that need a location are rendered
Unit takes time to be trained + unit update take 'curTime' in parameter
UnitDesc: new attribute 'buildTime'
TrainOrder: uses the 'buildTime' attribute from unit description
Update ChangeLog and TODO
Unit has a Build() method + new order 'BuildOrder'
BuildOrder: Unit move to the destination before starting building
BuildOrder: Unit pop out at the right place once building is finished
UserInput: Move() order is only sent to unit which can actually move
Constructing building takes time + render intermediate state (building in construction)
Two new temporary state when building is being constructed
When unit start building, they can't be selected. The building is being selected instead
Select building in construction only if the builder is still selected when starting construction
Factorization of orders which need a destination
[BIG COMMIT] Building in construction can be canceled:
- New getter on unit being build in BuildOrder class
- Once the build order is destroyed, the host unit is selected if the built unit was selected
- Two new method is Unit: IsBeingConstructued() and IsBuilding(Unit)
- Unit description of townhall has CANCEL order while being constructed
- World can remove unit + cancel the order of the builder if the unit is being constructed
Small factorization in unit description