Ejemplo n.º 1
0
    public static Sprite GetSprite(this ContentManager content, RenderObjectInfo spriteInfo)
    {
        Sprite sprite;

        if (spriteInfo == null)
        {
            return(null);
        }

        if (spriteInfo.Path.EndsWith(".sf"))
        {
            sprite = content.GetAnimatedSprite(spriteInfo.Path);
        }
        else
        {
            sprite = content.GetSprite(spriteInfo.Path, spriteInfo.Region);
        }

        sprite.Origin = spriteInfo.Origin != null?spriteInfo.Origin.ToVector2() : Vector2.Zero;

        return(sprite);
    }
Ejemplo n.º 2
0
 public override bool CouldBatch(RenderObjectInfo objectInfo1, RenderObjectInfo objectInfo2)
 {
     return(base.CouldBatch(objectInfo1, objectInfo2));
 }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public override bool CouldBatch(RenderObjectInfo objectInfo1, RenderObjectInfo objectInfo2)
 {
     return(objectInfo1 is RenderMeshInfo renderMeshInfo1 && objectInfo2 is RenderMeshInfo renderMeshInfo2 && (renderMeshInfo1.Material.AllowInstancing && renderMeshInfo1.Material == renderMeshInfo2.Material) && renderMeshInfo1.Mesh == renderMeshInfo2.Mesh);
 }
Ejemplo n.º 4
0
 /// <inheritdoc />
 public override bool CouldRenderObject(RenderObjectInfo renderObjectInfo) => false;