// Created 2/24/2002 by CBT - an extra level of zoom is supplied by this subsystem #pragma once #include "MW4.hpp" #include "Subsystem.hpp" namespace MechWarrior4 { typedef Subsystem__ClassData EnhancedOptics__ClassData; typedef Subsystem__GameModel EnhancedOptics__GameModel; typedef Subsystem__Message EnhancedOptics__Message; typedef Subsystem__ExecutionStateEngine EnhancedOptics__ExecutionStateEngine; typedef Subsystem__CreateMessage EnhancedOptics__CreateMessage; //########################################################################## //######################## EnhancedOptics ############################# //########################################################################## class EnhancedOptics: public Subsystem { public: static void InitializeClass(); static void TerminateClass(); typedef Subsystem BaseClass; //########################################################################## // Inheritance support // public: typedef EnhancedOptics__ClassData ClassData; typedef EnhancedOptics__GameModel GameModel; typedef EnhancedOptics__Message Message; typedef EnhancedOptics__ExecutionStateEngine ExecutionStateEngine; typedef EnhancedOptics__CreateMessage CreateMessage; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static EnhancedOptics* Make( CreateMessage *message, ReplicatorID *base_id ); protected: EnhancedOptics( ClassData *class_data, CreateMessage *message, ReplicatorID *base_id, ElementRenderer::Element *element ); ~EnhancedOptics(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestInstance() const; }; }