//===========================================================================// // File: tstentty.hh // // Project: MUNGA Brick: Entity Manager // // Contents: class definition of test entity // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 12/28/94 JMA Initial coding. // //---------------------------------------------------------------------------// // Copyright (C) 1994, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if !defined(TSTENTTY_HPP) # define TSTENTTY_HPP # if !defined(ENTITY_HPP) # include "entity.hpp" # endif class TestEntity: public Entity { //########################################################################## // Shared Data Support // public: SharedData* GetSharedData() {return (SharedData*)sharedData;} static Derivation ClassDerivations; static SharedData DefaultData; //########################################################################## // Message Support // public: enum { TestMessageID = Entity::NextMessageID, NextMessageID }; private: static const HandlerEntry MessageHandlerEntries[]; protected: static MessageHandlerSet MessageHandlers; public: void TestMessageHandler(Message *message); void Tester(); //########################################################################## // Attribute Support // public: enum { VelocityVectorAttributeID = Entity::NextAttributeID, NextAttributeID }; private: static const IndexEntry AttributePointers[]; static const HandlerEntry AttributeHandlerEntries[]; public: static AttributeIndexSet AttributeIndex; // // public attribute declarations go here // public: Vector3D velocityVector; //########################################################################## // Model Support // public: typedef void (TestEntity::*Performance)( Scalar time_slice, MemoryStream &update_stream ); void SetPerformance(Performance performance) { Check(this); activePerformance = (Simulation::Performance)performance; } void Model( Scalar time_slice, MemoryStream &update_stream ); //########################################################################## // Construction and Destruction // public: static TestEntity* Make(MakeMessage *creation_message); protected: TestEntity( MakeMessage *creation_message, SharedData &virtual_data = DefaultData ); public: ~TestEntity(); }; #endif