//===========================================================================// // File: ElevationMap.hpp // // Project: MechWarrior 4 // // Contents: Interface specification for moving entity class // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 12/21/98 JSE Inital base class based off of Adept Entity //---------------------------------------------------------------------------// // Copyright (C) 1998, Fasa Interactive // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if !defined(MW4_ELEVATIONMAP_HPP) #define MW4_ELEVATIONMAP_HPP #if !defined(MW4_HPP) #include "MW4.hpp" #endif namespace MechWarrior4 { class ElevationMap; //########################################################################## //##################### ElevationMap::ModelResource ################## //########################################################################## class ElevationMap__GameModel: public Adept::Entity__GameModel { public: }; //########################################################################## //############################ ElevationMap ########################## //########################################################################## //------------------------------------------------------------------------- // The following helper classes must always be typedef'd or overriden by an // inheritor // typedef Adept::Entity__ClassData ElevationMap__ClassData; typedef Adept::Entity__Message ElevationMap__Message; typedef Adept::Entity__PostCollisionStateEngine ElevationMap__PostCollisionStateEngine; typedef Adept::Entity__PreCollisionStateEngine ElevationMap__PreCollisionStateEngine; //----------------------- End of inheritance stuff ------------------------ class ElevationMap: public Adept::Entity { public: static void InitializeClass(); static void TerminateClass(); //########################################################################## // Inheritance support // public: typedef ElevationMap__ClassData ClassData; typedef ElevationMap__GameModel GameModel; typedef ElevationMap__Message Message; typedef ElevationMap__PreCollisionStateEngine PreCollisionStateEngine; typedef ElevationMap__PostCollisionStateEngine PostCollisionStateEngine; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static ElevationMap* Make( Stuff::MemoryStream *stream, CreationParameters *creation_parameters ); void Save(Stuff::MemoryStream *stream); ElevationMap( ClassData *class_data, Stuff::MemoryStream *stream, CreationParameters *creation_parameters ); void Reuse( Stuff::MemoryStream *stream, CreationParameters *creation_parameters ); private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Tool-time Construction and Destruction Support // public: static ElevationMap* ToolMake( FactoryRequestParameters *parameters, CreationParameters *creation_parameters ); ElevationMap( ClassData *class_data, FactoryRequestParameters *parameters, CreationParameters *creation_parameters ); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Class Data support // public: static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Game Model Support // public: const GameModel* GetGameModel() { Check_Object(this); return Cast_Pointer(const GameModel*,gameModel); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Execution Support // public: void PreCollisionExecute(const Adept::SimulationTime& till); void PostCollisionExecute(const Adept::SimulationTime& till); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestInstance() const; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // public: static bool CreateGameModel(GameModelParameters *parameters); }; } #endif