//===========================================================================// // File: SSRMWeaponSubsystem.hpp //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 05/18/99 DPB Created File //---------------------------------------------------------------------------// // Copyright (C) 1998, Fasa Interactive // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #pragma once #include "MW4.hpp" #include "MissileWeapon.hpp" namespace MechWarrior4 { //########################################################################## //########################### SSRMWeaponSubsystem ###################### //########################################################################## typedef MissileWeapon__GameModel SSRMWeaponSubsystem__GameModel; typedef MissileWeapon__CreateMessage SSRMWeaponSubsystem__CreateMessage; typedef MissileWeapon__ExecutionStateEngine SSRMWeaponSubsystem__ExecutionStateEngine; typedef MissileWeapon__Message SSRMWeaponSubsystem__Message; typedef MissileWeapon__ClassData SSRMWeaponSubsystem__ClassData; class SSRMWeaponSubsystem: public MissileWeapon { public: static void InitializeClass(); static void TerminateClass(); //########################################################################## // Inheritance support // public: typedef SSRMWeaponSubsystem__ClassData ClassData; typedef SSRMWeaponSubsystem__GameModel GameModel; typedef SSRMWeaponSubsystem__Message Message; typedef SSRMWeaponSubsystem__ExecutionStateEngine ExecutionStateEngine; typedef SSRMWeaponSubsystem__CreateMessage CreateMessage; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static SSRMWeaponSubsystem* Make( CreateMessage *message, ReplicatorID *base_id ); protected: SSRMWeaponSubsystem( ClassData *class_data, CreateMessage *message, ReplicatorID *base_id, ElementRenderer::Element *element ); ~SSRMWeaponSubsystem(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Simulation Support // public: void CreateProjectile(Stuff::Time till); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestInstance() const; }; }