public override int GetMarshalledSize()
        {
            int marshalSize = 0;

            marshalSize  = base.GetMarshalledSize();
            marshalSize += this._minefieldID.GetMarshalledSize();          // this._minefieldID
            marshalSize += 2;                                              // this._minefieldSequence
            marshalSize += 1;                                              // this._forceID
            marshalSize += 1;                                              // this._numberOfPerimeterPoints
            marshalSize += this._minefieldType.GetMarshalledSize();        // this._minefieldType
            marshalSize += 2;                                              // this._numberOfMineTypes
            marshalSize += this._minefieldLocation.GetMarshalledSize();    // this._minefieldLocation
            marshalSize += this._minefieldOrientation.GetMarshalledSize(); // this._minefieldOrientation
            marshalSize += 2;                                              // this._appearance
            marshalSize += 2;                                              // this._protocolMode
            for (int idx = 0; idx < this._perimeterPoints.Count; idx++)
            {
                Vector2Float listElement = (Vector2Float)this._perimeterPoints[idx];
                marshalSize += listElement.GetMarshalledSize();
            }

            for (int idx = 0; idx < this._mineType.Count; idx++)
            {
                EntityType listElement = (EntityType)this._mineType[idx];
                marshalSize += listElement.GetMarshalledSize();
            }

            return(marshalSize);
        }