Exemplo n.º 1
0
        /**
         * The equals method doesn't always work--mostly on on classes that consist only of primitives. Be careful.
         */
        public bool equals(MinefieldStatePdu rhs)
        {
            bool ivarsEqual = true;

            if (rhs.GetType() != this.GetType())
            {
                return(false);
            }

            if (!(_minefieldID.Equals(rhs._minefieldID)))
            {
                ivarsEqual = false;
            }
            if (!(_minefieldSequence == rhs._minefieldSequence))
            {
                ivarsEqual = false;
            }
            if (!(_forceID == rhs._forceID))
            {
                ivarsEqual = false;
            }
            if (!(_numberOfPerimeterPoints == rhs._numberOfPerimeterPoints))
            {
                ivarsEqual = false;
            }
            if (!(_minefieldType.Equals(rhs._minefieldType)))
            {
                ivarsEqual = false;
            }
            if (!(_numberOfMineTypes == rhs._numberOfMineTypes))
            {
                ivarsEqual = false;
            }
            if (!(_minefieldLocation.Equals(rhs._minefieldLocation)))
            {
                ivarsEqual = false;
            }
            if (!(_minefieldOrientation.Equals(rhs._minefieldOrientation)))
            {
                ivarsEqual = false;
            }
            if (!(_appearance == rhs._appearance))
            {
                ivarsEqual = false;
            }
            if (!(_protocolMode == rhs._protocolMode))
            {
                ivarsEqual = false;
            }

            for (int idx = 0; idx < _perimeterPoints.Count; idx++)
            {
                Point x = (Point)_perimeterPoints[idx];
                if (!(_perimeterPoints[idx].Equals(rhs._perimeterPoints[idx])))
                {
                    ivarsEqual = false;
                }
            }


            for (int idx = 0; idx < _mineType.Count; idx++)
            {
                EntityType x = (EntityType)_mineType[idx];
                if (!(_mineType[idx].Equals(rhs._mineType[idx])))
                {
                    ivarsEqual = false;
                }
            }


            return(ivarsEqual);
        }
        /**
         * Compares for reference equality and value equality.
         */
        public bool equals(MinefieldStatePdu rhs)
        {
            bool ivarsEqual = true;

            if(rhs.GetType() != this.GetType())
                return false;

            ivarsEqual = base.Equals(rhs);

            if( ! (_minefieldID.Equals( rhs._minefieldID) )) ivarsEqual = false;
            if( ! (_minefieldSequence == rhs._minefieldSequence)) ivarsEqual = false;
            if( ! (_forceID == rhs._forceID)) ivarsEqual = false;
            if( ! (_numberOfPerimeterPoints == rhs._numberOfPerimeterPoints)) ivarsEqual = false;
            if( ! (_minefieldType.Equals( rhs._minefieldType) )) ivarsEqual = false;
            if( ! (_numberOfMineTypes == rhs._numberOfMineTypes)) ivarsEqual = false;
            if( ! (_minefieldLocation.Equals( rhs._minefieldLocation) )) ivarsEqual = false;
            if( ! (_minefieldOrientation.Equals( rhs._minefieldOrientation) )) ivarsEqual = false;
            if( ! (_appearance == rhs._appearance)) ivarsEqual = false;
            if( ! (_protocolMode == rhs._protocolMode)) ivarsEqual = false;

            if( ! (_perimeterPoints.Count == rhs._perimeterPoints.Count)) ivarsEqual = false;
            if(ivarsEqual)
            {
                for(int idx = 0; idx < _perimeterPoints.Count; idx++)
                {
                    if( ! ( _perimeterPoints[idx].Equals(rhs._perimeterPoints[idx]))) ivarsEqual = false;
                }
            }

            if( ! (_mineType.Count == rhs._mineType.Count)) ivarsEqual = false;
            if(ivarsEqual)
            {
                for(int idx = 0; idx < _mineType.Count; idx++)
                {
                    if( ! ( _mineType[idx].Equals(rhs._mineType[idx]))) ivarsEqual = false;
                }
            }

            return ivarsEqual;
        }