//===========================================================================// // File: btteam.cpp // // 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 // //===========================================================================// #include #pragma hdrstop #if !defined(BTTEAM_HPP) # include #endif #if !defined(HOSTMGR_HPP) # include #endif #if !defined(APP_HPP) # include #endif #if !defined(BTCNSL_HPP) # include #endif //############################################################################# //############################### BTTeam ############################### //############################################################################# //############################################################################# // Shared Data Support // Derivation* BTTeam::GetClassDerivations() { static Derivation classDerivations(Team::GetClassDerivations(), "BTTeam"); return &classDerivations; } BTTeam::SharedData BTTeam::DefaultData( BTTeam::GetClassDerivations(), BTTeam::MessageHandlers, BTTeam::GetAttributeIndex(), BTTeam::StateCount, (BTTeam::MakeHandler)BTTeam::Make ); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void BTTeam::TeamSimulation( Scalar // time_slice ) { Check(this); // //------------------------------------------------------------------------ // Update the console every 15 seconds //------------------------------------------------------------------------ // if (lastPerformance - lastConsoleUpdate >= 15.0f) { lastConsoleUpdate = lastPerformance; // //--------------------------------------------- // Tell the console (if there is one) our score //--------------------------------------------- // Check(application); HostManager *host_manager = application->GetHostManager(); Check(host_manager); Host *console_host = host_manager->GetConsoleHost(); if (console_host) { Check(console_host); ConsoleBTTeamScoreUpdateMessage score_message(ownerID, (int)teamScore); application->SendMessage( console_host->GetHostID(), NetworkClient::ConsoleClientID, &score_message ); } } Check_Fpu(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // BTTeam::BTTeam( MakeMessage *creation_message, SharedData &shared_data ) : Team (creation_message, shared_data) { lastConsoleUpdate = lastPerformance; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // BTTeam::~BTTeam() { } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // BTTeam* BTTeam::Make(MakeMessage *creation_message) { Check_Fpu(); return new BTTeam(creation_message); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Logical BTTeam::CreateMakeMessage( MakeMessage *creation_message, NotationFile *model_file, const ResourceDirectories *directories ) { Check(creation_message); Check(model_file); if (!Team::CreateMakeMessage(creation_message, model_file, directories)) { return False; } creation_message->classToCreate = BTTeamClassID; return True; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Logical BTTeam::TestInstance() const { return IsDerivedFrom(*GetClassDerivations()); }