#pragma once #include "CombatAI.hpp" namespace MechWarrior4 { typedef CombatAI__CreateMessage ShooterAI__CreateMessage; //########################################################################## //########################### ShooterAI ################################## //########################################################################## class ShooterAI : public CombatAI { typedef CombatAI inherited; public: static void InitializeClass(); static void TerminateClass(); static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Inheritance Support // public: typedef ShooterAI__CreateMessage CreateMessage; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static ShooterAI* Make(CreateMessage *message,ReplicatorID *base_id); protected: ShooterAI( ClassData *class_data, CreateMessage *message, ReplicatorID *base_id, ElementRenderer::Element *element ); virtual ~ShooterAI(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Message Support // public: enum { DebugTextMessageID = MechWarrior4::CombatAI::NextMessageID, NextMessageID }; void DebugTextMessageHandler(Adept::ReceiverDataMessageOf *message); protected: static const MessageEntry MessageEntries[]; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Execution Support // public: virtual void PreCollisionExecute(Stuff::Time till); bool CanMove() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestInstance() const; }; }