public override bool Equals(object obj)
        {
            EntityInfo info = obj as EntityInfo;

            if (info == null || info.Count != this.Count)
            {
                return(false);
            }

            if (this.FloatVars.Count != info.FloatVars.Count)
            {
                return(false);
            }
            for (int i = 0; i < FloatVars.Count; i++)
            {
                if (FloatVars[i].Value != info.FloatVars[i].Value)
                {
                    return(false);
                }
            }

            if (this.VectorVars.Count != info.VectorVars.Count)
            {
                return(false);
            }
            for (int i = 0; i < VectorVars.Count; i++)
            {
                if (VectorVars[i].Value != info.VectorVars[i].Value)
                {
                    return(false);
                }
            }

            if (this.IntVars.Count != info.IntVars.Count)
            {
                return(false);
            }
            for (int i = 0; i < IntVars.Count; i++)
            {
                if (IntVars[i].Value != info.IntVars[i].Value)
                {
                    return(false);
                }
            }

            if (this.BoolVars.Count != info.BoolVars.Count)
            {
                return(false);
            }
            for (int i = 0; i < BoolVars.Count; i++)
            {
                if (BoolVars[i].Value != info.BoolVars[i].Value)
                {
                    return(false);
                }
            }

            if (this.StringVars.Count != info.StringVars.Count)
            {
                return(false);
            }
            for (int i = 0; i < StringVars.Count; i++)
            {
                if (StringVars[i].Value != info.StringVars[i].Value)
                {
                    return(false);
                }
            }

            if (this.ObjVars.Count != info.ObjVars.Count)
            {
                return(false);
            }
            for (int i = 0; i < ObjVars.Count; i++)
            {
                if (ObjVars[i].Value != info.ObjVars[i].Value)
                {
                    return(false);
                }
            }
            return(true);
        }
 public bool Same(EntityInfo info)
 {
     return(info.Pointer == this.Pointer);
 }