Moin moin,
eine Frage rein technischer Natur (vielleicht in Spieleprogrammierung falsch aufgehoben, aber ist halt für ein Spiel)
Ich habe eine Klasse in der ich meine Vertices bereitstelle.
Ich möchte flexibel welche hinzufügen können, was ich mit der unten aufgeführten Methode realisiere.
Leider mache ich mir sorgen, dass das Überschreiben der Variable _vertices das alte Array nicht löscht sondern als Leiche im Speicher lässt.
Irre ich mich, oder ist das wirklich so?
In _vertices sind die Daten in einem Array gespeichert.
eine Frage rein technischer Natur (vielleicht in Spieleprogrammierung falsch aufgehoben, aber ist halt für ein Spiel)
Ich habe eine Klasse in der ich meine Vertices bereitstelle.
Ich möchte flexibel welche hinzufügen können, was ich mit der unten aufgeführten Methode realisiere.
Leider mache ich mir sorgen, dass das Überschreiben der Variable _vertices das alte Array nicht löscht sondern als Leiche im Speicher lässt.
Irre ich mich, oder ist das wirklich so?
In _vertices sind die Daten in einem Array gespeichert.
C#-Quellcode
- public static void AddVertices(VertexPositionTexture[] vertices)
- {
- // Wenn wir schon Daten haben dann kopieren wir sie hinten dran
- if (_vertices != null)
- {
- VertexPositionTexture[] newArray = new VertexPositionTexture[_vertices.Length + vertices.Length];
- Array.Copy(_vertices, newArray, _vertices.Length);
- Array.Copy(vertices, 0, newArray, _vertices.Length, vertices.Length);
- _vertices = newArray;
- }
- else
- {
- _vertices = vertices;
- }
- }