//===========================================================================// // File: entity2.hh // // Project: MUNGA Brick: Entity Manager // // Contents: Interface specification for entity class // //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 11/29/94 JMA Initial coding. // //---------------------------------------------------------------------------// // Copyright (C) 1994, Virtual World Entertainment, Inc. // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #if defined(ENTITY_CONTINUATION) # if !defined(ENTITYID_HPP) # include # endif class Entity; class Entity__SharedData; class Entity__MakeMessage; class Entity__TakeDamageMessage; class Entity__PlayerLinkMessage; class Entity__DynamicMessage; class Entity__UpdateMessage; class Entity__MakeMapMessage; class Entity__TakeDamageStreamMessage; class Entity__DestroyEntityMessage; class EntityID; // //--------------------------------------------------- // Support types for entity identity and host manager //--------------------------------------------------- // //########################################################################## //####################### Entity::Message ############################ //########################################################################## class Entity__Message: public Receiver::Message { public: // // The following fields need to be filled in by the sending manager // enum { DontSpoolBit = Receiver::Message::NextBit, NextBit }; enum { DontSpoolFlag = 1 << DontSpoolBit }; // This field will be already set for map entities EntityID entityID; InterestZoneID interestZoneID; HostID ownerID; Entity__Message( Receiver::MessageID messageID, size_t length ): Receiver::Message(messageID, length), entityID(EntityID::Null), interestZoneID(NullInterestZoneID), ownerID(NullHostID) {} // This constructor exists for constructing map entities Entity__Message( Receiver::MessageID messageID, size_t length, const EntityID &entity_ID ): Receiver::Message(messageID, length), entityID(entity_ID), interestZoneID(NullInterestZoneID), ownerID(NullHostID) {} }; // // Various typedefs for unimplemented messages // typedef Entity__Message Entity__MakeReadyMessage; typedef Entity__Message Entity__RemakeEntityMessage; typedef Entity__Message Entity__RemakeReadyMessage; typedef Entity__Message Entity__RemakeCompleteMessage; typedef Entity__Message Entity__RemakeIncompleteMessage; typedef Entity__Message Entity__TransferEntityMessage; typedef Entity__Message Entity__TransferCompleteMessage; typedef Entity__Message Entity__TransferIncompleteMessage; typedef Entity__Message Entity__BecomeInterestingMessage; typedef Entity__Message Entity__BecomeUninterestingMessage; typedef Entity__Message Entity__SubscribeReplicantMessage; typedef Entity__Message Entity__UnsubscribeReplicantMessage; //########################################################################## //############# Entity::StaticVideoSocketIterator #################### //########################################################################## class Entity__StaticVideoSocketIterator: public SChainIteratorOf { public: Entity__StaticVideoSocketIterator(Entity *entity); Entity__StaticVideoSocketIterator( const Entity__StaticVideoSocketIterator &iterator ); ~Entity__StaticVideoSocketIterator(); }; //########################################################################## //############ Entity::DynamicVideoSocketIterator #################### //########################################################################## class Entity__DynamicVideoSocketIterator: public SChainIteratorOf { public: Entity__DynamicVideoSocketIterator(Entity *entity); Entity__DynamicVideoSocketIterator( const Entity__DynamicVideoSocketIterator &iterator ); ~Entity__DynamicVideoSocketIterator(); }; //########################################################################## //################ Entity::AudioSocketIterator ####################### //########################################################################## class Entity__AudioSocketIterator: public SChainIteratorOf { public: Entity__AudioSocketIterator(Entity *entity); ~Entity__AudioSocketIterator(); }; //########################################################################## //#################### Entity::UpdateRecord ########################## //########################################################################## struct Entity__UpdateRecord: public Simulation__UpdateRecord { public: Origin localOrigin; }; #endif