From e33e19d0587146859d48a134ec9fd94e7b7ba5cd Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Thu, 8 Dec 2011 14:53:40 +0000 Subject: Initial upload --- Stars45/CarrierAI.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Stars45/CarrierAI.h (limited to 'Stars45/CarrierAI.h') diff --git a/Stars45/CarrierAI.h b/Stars45/CarrierAI.h new file mode 100644 index 0000000..651c8f5 --- /dev/null +++ b/Stars45/CarrierAI.h @@ -0,0 +1,64 @@ +/* Project Starshatter 4.5 + Destroyer Studios LLC + Copyright © 1997-2004. All Rights Reserved. + + SUBSYSTEM: Stars.exe + FILE: CarrierAI.h + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + "Air Boss" AI class for managing carrier fighter squadrons +*/ + +#ifndef CarrierAI_h +#define CarrierAI_h + +#include "Types.h" +#include "Director.h" + +// +--------------------------------------------------------------------+ + +class Sim; +class Ship; +class ShipAI; +class Instruction; +class Hangar; +class Element; +class FlightPlanner; + +// +--------------------------------------------------------------------+ + +class CarrierAI : public Director +{ +public: + CarrierAI(Ship* s, int level); + virtual ~CarrierAI(); + + virtual void ExecFrame(double seconds); + +protected: + virtual bool CheckPatrolCoverage(); + virtual bool CheckHostileElements(); + + virtual bool CreateStrike(Element* elem); + + virtual Element* CreatePackage(int squad, int size, int code, const char* target=0, const char* loadname=0); + virtual bool LaunchElement(Element* elem); + + Sim* sim; + Ship* ship; + Hangar* hangar; + FlightPlanner* flight_planner; + int exec_time; + int hold_time; + int ai_level; + + Element* patrol_elem[4]; +}; + +// +--------------------------------------------------------------------+ + +#endif CarrierAI_h + -- cgit v1.1