// Created 6/16/2002 by ASH - Advanced Gyro #pragma once #include "MW4.hpp" #include "Subsystem.hpp" namespace MechWarrior4 { class Mech; typedef Subsystem__ClassData AdvancedGyro__ClassData; typedef Subsystem__GameModel AdvancedGyro__GameModel; typedef Subsystem__Message AdvancedGyro__Message; typedef Subsystem__ExecutionStateEngine AdvancedGyro__ExecutionStateEngine; typedef Subsystem__CreateMessage AdvancedGyro__CreateMessage; //########################################################################## //######################## AdvancedGyro ############################# //########################################################################## class AdvancedGyro: public Subsystem { public: static void InitializeClass(); static void TerminateClass(); typedef Subsystem BaseClass; //########################################################################## // Inheritance support // public: typedef AdvancedGyro__ClassData ClassData; typedef AdvancedGyro__GameModel GameModel; typedef AdvancedGyro__Message Message; typedef AdvancedGyro__ExecutionStateEngine ExecutionStateEngine; typedef AdvancedGyro__CreateMessage CreateMessage; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static AdvancedGyro* Make( CreateMessage *message, ReplicatorID *base_id ); protected: AdvancedGyro( ClassData *class_data, CreateMessage *message, ReplicatorID *base_id, ElementRenderer::Element *element ); ~AdvancedGyro(); Mech *m_parentMech; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: static ClassData *DefaultData; void DestroySubsystem(); bool ConnectSubsystem(); bool DisconnectSubsystem(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestInstance() const; }; }