Пример #1
0
        // override object.Equals
        public override bool Equals(object compare)
        {
            try
            {
                if ((compare == null) || (GetType() != compare.GetType()))
                {
                    return(false);
                }

                var compareRadio = compare as DCSPlayerRadioInfo;

                if (control != compareRadio.control)
                {
                    return(false);
                }
                //if (side != compareRadio.side)
                //{
                //    return false;
                //}
                if (!name.Equals(compareRadio.name))
                {
                    return(false);
                }
                if (!unit.Equals(compareRadio.unit))
                {
                    return(false);
                }

                if (unitId != compareRadio.unitId)
                {
                    return(false);
                }

                if (((iff == null) || (compareRadio.iff == null)))
                {
                    return(false);
                }
                else
                {
                    //check iff
                    if (!iff.Equals(compareRadio.iff))
                    {
                        return(false);
                    }
                }

                for (var i = 0; i < radios.Length; i++)
                {
                    var radio1 = radios[i];
                    var radio2 = compareRadio.radios[i];

                    if ((radio1 != null) && (radio2 != null))
                    {
                        if (!radio1.Equals(radio2))
                        {
                            return(false);
                        }
                    }
                }
            }
            catch
            {
                return(false);
            }


            return(true);
        }
        // override object.Equals
        public override bool Equals(object compare)
        {
            try
            {
                if ((compare == null) || (GetType() != compare.GetType()))
                {
                    return(false);
                }

                var compareRadio = compare as DCSPlayerRadioInfo;

                if (!name.Equals(compareRadio.name))
                {
                    return(false);
                }
                if (!unit.Equals(compareRadio.unit))
                {
                    return(false);
                }

                if (unitId != compareRadio.unitId)
                {
                    return(false);
                }

                if (((iff == null) || (compareRadio.iff == null)))
                {
                    return(false);
                }
                else
                {
                    //check iff
                    if (!iff.Equals(compareRadio.iff))
                    {
                        return(false);
                    }
                }

                for (var i = 0; i < radios.Count; i++)
                {
                    var radio1 = radios[i];
                    var radio2 = compareRadio.radios[i];

                    if (radio1 == null || radio2 == null)
                    {
                        continue;
                    }
                    if (!radio1.Equals(radio2))
                    {
                        return(false);
                    }
                }
            }
            catch
            {
                return(false);
            }


            return(true);
        }