/** * 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; }