#pragma once #include "..\munga\subsystm.h" #include "..\munga\controls.h" class VTV; //########################################################################## //######################## Subsystem ################################# //########################################################################## class VTVSubsystem : public Subsystem { friend class VTV; //########################################################################## // Shared Data Support // public: static Derivation *GetClassDerivations(); static SharedData DefaultData; //########################################################################## // Messaging support // // No messages handled here //########################################################################## // Construction and Destruction Support // public: ~VTVSubsystem(); Logical TestInstance() const; protected: VTVSubsystem(VTV *entity, int subsystem_id, SubsystemResource *model, SharedData &shared_data, void *control_destination = NULL, Receiver::MessageID message_id = (Receiver::MessageID) 0); //########################################################################## // Model support // public: VTV* GetEntity() { return (VTV*)Subsystem::GetEntity(); } //########################################################################## // Mapping support // protected: void EnterConfiguration(ControlsButton *direct_target, Receiver *receiver, Receiver::MessageID active_message_id, Receiver::MessageID config_message_id); void ExitConfiguration(); // 'controlDestination' is a pointer to the "thing" that a button // is mapped to (if 'direct-mapped'), and 'controlMessageID' indicates // the message ID that the button is mapped to (if 'event-mapped'). // These values must be set appropriately in order for gauges to be // able to determine ownership of mapped buttons. void *controlDestination; // OBSOLETE? Receiver::MessageID controlMessageID; // OBSOLETE? };