Exemplo n.º 1
0
        public bool EqualTo(IWorkshopTree b)
        {
            if (this.GetType() != b.GetType())
            {
                return(false);
            }

            EnumMember bAsEnum = (EnumMember)b;

            return(WorkshopName == bAsEnum.WorkshopName && Enum == bAsEnum.Enum);
        }
        public virtual bool EqualTo(IWorkshopTree other)
        {
            if (this.GetType() != other.GetType())
            {
                return(false);
            }

            WorkshopVariable bAsMeta = (WorkshopVariable)other;

            return(Name == bAsMeta.Name && ID == bAsMeta.ID);
        }
        public bool EqualTo(IWorkshopTree b)
        {
            if (this.GetType() != b.GetType())
            {
                return(false);
            }

            Element bElement = (Element)b;

            if (ParameterValues.Length != bElement.ParameterValues.Length)
            {
                return(false);
            }

            Type[] createsRandom = new Type[] {
                typeof(V_RandomInteger),
                typeof(V_RandomizedArray),
                typeof(V_RandomReal),
                typeof(V_RandomValueInArray)
            };

            for (int i = 0; i < ParameterValues.Length; i++)
            {
                if ((ParameterValues[i] == null) != (bElement.ParameterValues[i] == null))
                {
                    return(false);
                }

                if (ParameterValues[i] != null && (!ParameterValues[i].EqualTo(bElement.ParameterValues[i]) || createsRandom.Contains(ParameterValues[i].GetType())))
                {
                    return(false);
                }
            }

            return(OverrideEquals(b));
        }
        public virtual bool EqualTo(IWorkshopTree other)
        {
            if (this.GetType() != other.GetType())
            {
                return(false);
            }

            Element bElement = (Element)other;

            if (Function != bElement.Function || ParameterValues.Length != bElement.ParameterValues?.Length)
            {
                return(false);
            }

            string[] createsRandom = new string[] {
                "Random Integer",
                "Randomized Array",
                "Random Real",
                "Random Value In Array"
            };

            for (int i = 0; i < ParameterValues.Length; i++)
            {
                if ((ParameterValues[i] == null) != (bElement.ParameterValues[i] == null))
                {
                    return(false);
                }

                if (ParameterValues[i] != null && (!ParameterValues[i].EqualTo(bElement.ParameterValues[i]) || (ParameterValues[i] is Element element && createsRandom.Contains(element.Function.Name))))
                {
                    return(false);
                }
            }

            return(true);
        }