| 18 | |
| 19 | Hierarchy looks in a following way: |
| 20 | CommonController -> FlyingController -> FightingController -> ActionpointController, |
| 21 | ActionpointController -> DivisionController, SectionController, WingmanController. |
| 22 | * CommonController stores all the basic functions being used |
| 23 | * FlyingController handles flying functionality |
| 24 | * FightingController handles fighting functionality |
| 25 | * ActionpointController makes decisions if this is DivisionController |
| 26 | * DivisionController executes ActionpointController::action() each 1 second |
| 27 | * SectionController follows DivisionController and, when fighting, tries to find itself a good enemy to shoot at |
| 28 | * WingmanController follows its leader (either DivisionController or SectionController) and, when fighting, attacks the same target. |