//===========================================================================// // File: AnimationState.hpp //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 02/23/999 JSE Inital coding //---------------------------------------------------------------------------// // Copyright (C) 1998, Microsoft Corp. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #pragma once #include "AnimationState.hpp" namespace MechWarrior4 { class AirplaneAnimationStateEngine: public AnimationStateEngine { public: static void InitializeClass(); static void TerminateClass(); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Run-time Construction and Destruction Support // public: static AirplaneAnimationStateEngine* Make(Vehicle *vehicle, const FactoryRequest *request); void Save(FactoryRequest *request); void Reuse(const FactoryRequest *request); ~AirplaneAnimationStateEngine(); protected: AirplaneAnimationStateEngine( Vehicle *vehicle, ClassData *class_data, const FactoryRequest *request ); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: ClassData* GetClassData(); static ClassData *DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // State entries // public: enum { IdleState = AnimationStateEngine::StateCount,//10 TakeOffState, EndTakeOffState, StateCount }; protected: static const StateEntry StateEntries[]; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Test Support // public: void TestClass(); }; //############################################################################# //########################## Inlines ######################## //############################################################################# inline AirplaneAnimationStateEngine::ClassData* AirplaneAnimationStateEngine::GetClassData() { Check_Object(this); return Cast_Pointer(ClassData*, classData); } }