| 823 | //-------------------------------------------------------------------------- |
| 824 | |
| 825 | U32 Trigger::packUpdate(NetConnection* con, U32 mask, BitStream* stream) |
| 826 | { |
| 827 | U32 i; |
| 828 | U32 retMask = Parent::packUpdate(con, mask, stream); |
| 829 | |
| 830 | if( stream->writeFlag( mask & TransformMask ) ) |
| 831 | { |
| 832 | stream->writeAffineTransform(mObjToWorld); |
| 833 | } |
| 834 | |
| 835 | // Write the polyhedron |
| 836 | if( stream->writeFlag( mask & PolyMask ) ) |
| 837 | { |
| 838 | stream->write(mTriggerPolyhedron.mPointList.size()); |
| 839 | for (i = 0; i < mTriggerPolyhedron.mPointList.size(); i++) |
| 840 | mathWrite(*stream, mTriggerPolyhedron.mPointList[i]); |
| 841 | |
| 842 | stream->write(mTriggerPolyhedron.mPlaneList.size()); |
| 843 | for (i = 0; i < mTriggerPolyhedron.mPlaneList.size(); i++) |
| 844 | mathWrite(*stream, mTriggerPolyhedron.mPlaneList[i]); |
| 845 | |
| 846 | stream->write(mTriggerPolyhedron.mEdgeList.size()); |
| 847 | for (i = 0; i < mTriggerPolyhedron.mEdgeList.size(); i++) { |
| 848 | const Polyhedron::Edge& rEdge = mTriggerPolyhedron.mEdgeList[i]; |
| 849 | |
| 850 | stream->write(rEdge.face[0]); |
| 851 | stream->write(rEdge.face[1]); |
| 852 | stream->write(rEdge.vertex[0]); |
| 853 | stream->write(rEdge.vertex[1]); |
| 854 | } |
| 855 | } |
| 856 | |
| 857 | if( stream->writeFlag( mask & EnterCmdMask ) ) |
| 858 | stream->writeLongString(CMD_SIZE-1, mEnterCommand.c_str()); |
| 859 | if( stream->writeFlag( mask & LeaveCmdMask ) ) |
| 860 | stream->writeLongString(CMD_SIZE-1, mLeaveCommand.c_str()); |
| 861 | if( stream->writeFlag( mask & TickCmdMask ) ) |
| 862 | stream->writeLongString(CMD_SIZE-1, mTickCommand.c_str()); |
| 863 | |
| 864 | return retMask; |
| 865 | } |
| 866 | |
| 867 | void Trigger::unpackUpdate(NetConnection* con, BitStream* stream) |
| 868 | { |
nothing calls this directly
no test coverage detected