Optimize GC for SectionalGameObject.
This commit is contained in:
@@ -104,6 +104,7 @@ namespace Cryville.Crtr.Components {
|
|||||||
public SpriteInfo body = new SpriteInfo();
|
public SpriteInfo body = new SpriteInfo();
|
||||||
public SpriteInfo tail = new SpriteInfo();
|
public SpriteInfo tail = new SpriteInfo();
|
||||||
|
|
||||||
|
Material[] mats;
|
||||||
List<Vector3> vertices;
|
List<Vector3> vertices;
|
||||||
List<float> lengths;
|
List<float> lengths;
|
||||||
float sumLength = 0;
|
float sumLength = 0;
|
||||||
@@ -112,7 +113,7 @@ namespace Cryville.Crtr.Components {
|
|||||||
base.Init();
|
base.Init();
|
||||||
mesh.Init(transform);
|
mesh.Init(transform);
|
||||||
|
|
||||||
var mats = mesh.Renderer.materials = new Material[] { mesh.NewMaterial, mesh.NewMaterial, mesh.NewMaterial };
|
mats = mesh.Renderer.materials = new Material[] { mesh.NewMaterial, mesh.NewMaterial, mesh.NewMaterial };
|
||||||
head.Bind(mats[0]);
|
head.Bind(mats[0]);
|
||||||
body.Bind(mats[1]);
|
body.Bind(mats[1]);
|
||||||
tail.Bind(mats[2]);
|
tail.Bind(mats[2]);
|
||||||
@@ -123,7 +124,7 @@ namespace Cryville.Crtr.Components {
|
|||||||
protected override void OnDestroy() {
|
protected override void OnDestroy() {
|
||||||
base.OnDestroy();
|
base.OnDestroy();
|
||||||
Reset();
|
Reset();
|
||||||
foreach (var m in mesh.Renderer.materials) Material.Destroy(m);
|
foreach (var m in mats) Material.Destroy(m);
|
||||||
if (_shape != null) _shapePool.Return(_shape);
|
if (_shape != null) _shapePool.Return(_shape);
|
||||||
if (vertices != null) {
|
if (vertices != null) {
|
||||||
_ptPool.Return(vertices);
|
_ptPool.Return(vertices);
|
||||||
|
|||||||
Reference in New Issue
Block a user