//===========================================================================// // File: gauss.cc // // Project: BT Brick: Entity Manager // // Contents: Basic weapons system pieces // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 04/13/95 JM Initial coding. // // 07/19/95 GDU Complied with new munga and added electrical behavior //---------------------------------------------------------------------------// // Copyright (C) 1995, Virtual World Entertainment, Inc. All Rights reserved // // // PROPRIETARY AND CONFIDENTIAL // //===========================================================================// #include #pragma hdrstop #if !defined(GAUSS_HPP) # include #endif //############################################################################# // Shared Data Support // GaussRifle::SharedData GaussRifle::DefaultData( GaussRifle::ClassDerivations, GaussRifle::MessageHandlers, GaussRifle::AttributeIndex, GaussRifle::StateCount ); Derivation GaussRifle::ClassDerivations( Emitter::ClassDerivations, "GaussRifle" ); //############################################################################# // Messaging Support // #if 0 //############################################################################# // Attribute Support // const GaussRifle::IndexEntry GaussRifle::AttributePointers[]= { ATTRIBUTE_ENTRY(GaussRifle, DischargeVoltage, dischargeVoltage) }; GaussRifle::AttributeIndexSet GaussRifle::AttributeIndex( ELEMENTS(GaussRifle::AttributePointers), GaussRifle::AttributePointers, Emitter::AttributeIndex ); #endif //############################################################################# // Model Support // void GaussRifle::FireWeapon() { // // Fire the weapon // outputVoltage = 0.0f; Check_Fpu(); } //############################################################################# // Constructer/Destructor Support // GaussRifle::GaussRifle( Mech *owner, int subsystem_ID, SubsystemResource *subsystem_resource, SharedData &shared_data ): Emitter(owner, subsystem_ID, subsystem_resource, shared_data) { Check(owner); Check_Pointer(subsystem_resource); outputVoltage = 0.0f; Check_Fpu(); } GaussRifle::~GaussRifle() { Check(this); Check_Fpu(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // CreateStreamedSubsystem // Logical GaussRifle::CreateStreamedSubsystem( ResourceFile *resource_file, NotationFile *model_file, const char *model_name, const char *subsystem_name, SubsystemResource *subsystem_resource, NotationFile *subsystem_file, const ResourceDirectories *directories, int passes ) { if ( !Emitter::CreateStreamedSubsystem( resource_file, model_file, model_name, subsystem_name, subsystem_resource, subsystem_file, directories, passes ) ) { Check_Fpu(); return False; } subsystem_resource->subsystemModelSize = sizeof(*subsystem_resource); subsystem_resource->classID = RegisteredClass::GaussRifleClassID; Check_Fpu(); return True; } Logical GaussRifle::TestInstance() const { return IsDerivedFrom(ClassDerivations); }