//===========================================================================// // File: btteam.hpp // // Project: BattleTech // // Contents: BattleTech Team Specifications // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 01/11/96 JM initial coding // //---------------------------------------------------------------------------// // Copyright (C) 1995, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if !defined (BTTEAM_HPP) # define BTTEAM_HPP # if !defined (TEAM_HPP) # include # endif //########################################################################## //######################## CLASS BTTeam ############################## //########################################################################## class BTTeam : public Team { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: static Derivation* GetClassDerivations(); static SharedData DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Model Support // public: typedef void (BTTeam::*Performance)(Scalar time_slice); void SetPerformance(Performance performance) { Check(this); activePerformance = (Simulation::Performance)performance; } void TeamSimulation(Scalar time_slice); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Console Support // protected: Time lastConsoleUpdate; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Construction / Destruction Support // public: BTTeam( MakeMessage *creation_message, SharedData &shared_data = DefaultData ); ~BTTeam(); Logical TestInstance() const; static BTTeam* Make(MakeMessage *creation_message); static Logical CreateMakeMessage ( MakeMessage *creation_message, NotationFile *model_file, const ResourceDirectories *directories ); }; #endif