| 719 | //-------------------------------------------------------------------------- |
| 720 | |
| 721 | U32 Trigger::packUpdate(NetConnection* con, U32 mask, BitStream* stream) |
| 722 | { |
| 723 | U32 i; |
| 724 | U32 retMask = Parent::packUpdate(con, mask, stream); |
| 725 | |
| 726 | if( stream->writeFlag( mask & TransformMask ) ) |
| 727 | { |
| 728 | stream->writeAffineTransform(mObjToWorld); |
| 729 | } |
| 730 | |
| 731 | // Write the polyhedron |
| 732 | if( stream->writeFlag( mask & PolyMask ) ) |
| 733 | { |
| 734 | stream->write(mTriggerPolyhedron.pointList.size()); |
| 735 | for (i = 0; i < mTriggerPolyhedron.pointList.size(); i++) |
| 736 | mathWrite(*stream, mTriggerPolyhedron.pointList[i]); |
| 737 | |
| 738 | stream->write(mTriggerPolyhedron.planeList.size()); |
| 739 | for (i = 0; i < mTriggerPolyhedron.planeList.size(); i++) |
| 740 | mathWrite(*stream, mTriggerPolyhedron.planeList[i]); |
| 741 | |
| 742 | stream->write(mTriggerPolyhedron.edgeList.size()); |
| 743 | for (i = 0; i < mTriggerPolyhedron.edgeList.size(); i++) { |
| 744 | const Polyhedron::Edge& rEdge = mTriggerPolyhedron.edgeList[i]; |
| 745 | |
| 746 | stream->write(rEdge.face[0]); |
| 747 | stream->write(rEdge.face[1]); |
| 748 | stream->write(rEdge.vertex[0]); |
| 749 | stream->write(rEdge.vertex[1]); |
| 750 | } |
| 751 | } |
| 752 | |
| 753 | if( stream->writeFlag( mask & EnterCmdMask ) ) |
| 754 | stream->writeLongString(CMD_SIZE-1, mEnterCommand.c_str()); |
| 755 | if( stream->writeFlag( mask & LeaveCmdMask ) ) |
| 756 | stream->writeLongString(CMD_SIZE-1, mLeaveCommand.c_str()); |
| 757 | if( stream->writeFlag( mask & TickCmdMask ) ) |
| 758 | stream->writeLongString(CMD_SIZE-1, mTickCommand.c_str()); |
| 759 | |
| 760 | return retMask; |
| 761 | } |
| 762 | |
| 763 | void Trigger::unpackUpdate(NetConnection* con, BitStream* stream) |
| 764 | { |
nothing calls this directly
no test coverage detected