示例#1
0
        static bool TextureInfoEquals(ModelDiffContext context, TextureInfo lhs, TextureInfo rhs)
        {
            if (!context.RequireComapre(lhs, rhs, out bool equals))
            {
                return(equals);
            }

            if (lhs.Offset != rhs.Offset)
            {
                return(false);
            }
            if (lhs.Scaling != rhs.Scaling)
            {
                return(false);
            }
            return(TextureEquals(context.Enter("Texture"), lhs.Texture, rhs.Texture));
        }
示例#2
0
        static bool TextureEquals(ModelDiffContext context, Texture lhs, Texture rhs)
        {
            if (!context.RequireComapre(lhs, rhs, out bool equals))
            {
                if (!equals)
                {
                    return(false);
                }
                return(true);
            }

            equals = true;
            if (!context.Enter("Name").Push(lhs.Name, rhs.Name, StringEquals))
            {
                equals = false;
            }
            if (!context.Enter("MagFilter").Push(lhs.Sampler.MagFilter, rhs.Sampler.MagFilter))
            {
                equals = false;
            }
            if (!context.Enter("MinFilter").Push(lhs.Sampler.MinFilter, rhs.Sampler.MinFilter))
            {
                equals = false;
            }
            if (!context.Enter("WrapS").Push(lhs.Sampler.WrapS, rhs.Sampler.WrapS))
            {
                equals = false;
            }
            if (!context.Enter("WrapT").Push(lhs.Sampler.WrapT, rhs.Sampler.WrapT))
            {
                equals = false;
            }
            if (lhs is ImageTexture l && rhs is ImageTexture r)
            {
                if (!ImageBytesEquals(context, l.Image, r.Image))
                {
                    equals = false;
                }
                return(equals);
            }