| | 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. |