Beispiel #1
0
        // todo: gethashcode

        public int CompareTo(TextureDescriptor o)
        {
            if (o == this)
            {
                return(0);
            }
            var t1 = texture == null ? 0 : texture.glTarget;
            var t2 = o.texture == null ? 0 : o.texture.glTarget;

            if (t1 != t2)
            {
                return(t1 - t2);
            }
            int h1 = texture == null ? 0 : texture.getTextureObjectHandle();
            int h2 = o.texture == null ? 0 : o.texture.getTextureObjectHandle();

            if (h1 != h2)
            {
                return(h1 - h2);
            }
            if (minFilter != o.minFilter)
            {
                return((minFilter == null ? 0 : TextureHelper.getGLEnumFromTextureFilter(minFilter)) - (o.minFilter == null ? 0 :TextureHelper.getGLEnumFromTextureFilter(o.minFilter)));
            }
            if (magFilter != o.magFilter)
            {
                return((magFilter == null ? 0 : TextureHelper.getGLEnumFromTextureFilter(magFilter)) - (o.magFilter == null ? 0 : TextureHelper.getGLEnumFromTextureFilter(o.magFilter)));
            }
            if (uWrap != o.uWrap)
            {
                return((uWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(uWrap)) - (o.uWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(o.uWrap)));
            }
            if (vWrap != o.vWrap)
            {
                return((vWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(uWrap)) - (o.vWrap == null ? 0 : TextureHelper.getGLEnumFromTextureWrap(o.vWrap)));
            }
            return(0);
        }