#pragma once #include "MW4.hpp" #include "MissileWeapon.hpp" namespace MechWarrior4 { //########################################################################## //########################### LongTomWeaponSubsystem ################## //########################################################################## typedef MissileWeapon__GameModel LongTomWeaponSubsystem__GameModel; typedef MissileWeapon__CreateMessage LongTomWeaponSubsystem__CreateMessage; typedef MissileWeapon__ExecutionStateEngine LongTomWeaponSubsystem__ExecutionStateEngine; typedef MissileWeapon__Message LongTomWeaponSubsystem__Message; typedef MissileWeapon__ClassData LongTomWeaponSubsystem__ClassData; class LongTomWeaponSubsystem: public MissileWeapon { public: static void InitializeClass(); static void TerminateClass(); //########################################################################## // Inheritance support // public: typedef LongTomWeaponSubsystem__ClassData ClassData; typedef LongTomWeaponSubsystem__GameModel GameModel; typedef LongTomWeaponSubsystem__Message Message; typedef LongTomWeaponSubsystem__ExecutionStateEngine ExecutionStateEngine; typedef LongTomWeaponSubsystem__CreateMessage CreateMessage; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static LongTomWeaponSubsystem* Make( CreateMessage *message, ReplicatorID *base_id ); protected: LongTomWeaponSubsystem( ClassData *class_data, CreateMessage *message, ReplicatorID *base_id, ElementRenderer::Element *element ); ~LongTomWeaponSubsystem(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Simulation Support // public: void CreateProjectile(Stuff::Time till); Stuff::Scalar GetDistanceWithAngle(Stuff::Scalar angle); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestInstance() const; }; }