1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-01 05:03:13 +08:00

Late-initialize vertex batch for safety

This commit is contained in:
Dean Herbert 2019-07-19 01:52:53 +09:00
parent a23bb3a6b3
commit 95f36c36c4

View File

@ -192,12 +192,11 @@ namespace osu.Game.Graphics.Backgrounds
private readonly List<TriangleParticle> parts = new List<TriangleParticle>(); private readonly List<TriangleParticle> parts = new List<TriangleParticle>();
private Vector2 size; private Vector2 size;
private readonly LinearBatch<TexturedVertex2D> vertexBatch; private LinearBatch<TexturedVertex2D> vertexBatch;
public TrianglesDrawNode(Triangles source) public TrianglesDrawNode(Triangles source)
: base(source) : base(source)
{ {
vertexBatch = new LinearBatch<TexturedVertex2D>(source.AimCount * 3, 2, PrimitiveType.Triangles);
} }
public override void ApplyState() public override void ApplyState()
@ -214,6 +213,9 @@ namespace osu.Game.Graphics.Backgrounds
public override void Draw(Action<TexturedVertex2D> vertexAction) public override void Draw(Action<TexturedVertex2D> vertexAction)
{ {
if (vertexBatch == null && Source.AimCount > 0)
vertexBatch = new LinearBatch<TexturedVertex2D>(Source.AimCount * 3, 2, PrimitiveType.Triangles);
base.Draw(vertexAction); base.Draw(vertexAction);
shader.Bind(); shader.Bind();