Optimize GC for mesh wrapper.

This commit is contained in:
2023-03-24 17:10:30 +08:00
parent e2c683567e
commit e03dbef5ff
3 changed files with 7 additions and 4 deletions

View File

@@ -106,6 +106,7 @@ namespace Cryville.Crtr.Components {
public override void Init() {
base.Init();
mesh.Init(transform);
mesh.Mesh = new Mesh();
mesh.Renderer.sharedMaterials = materials = new Material[] {
MeshWrapper.NewMaterial(),

View File

@@ -89,7 +89,7 @@ namespace Cryville.Crtr.Components {
protected void InternalInit(string meshName = "quad") {
mesh.Init(transform);
mesh.Renderer.sharedMaterials = materials = new Material[] { MeshWrapper.NewMaterial() };
mesh.Mesh = GenericResources.Meshes[meshName];
mesh.Mesh = Mesh.Instantiate(GenericResources.Meshes[meshName]);
UpdateColor();
UpdateScale();
UpdateZIndex();

View File

@@ -10,9 +10,10 @@ namespace Cryville.Crtr {
get;
private set;
}
Mesh m_mesh;
public Mesh Mesh {
get { return MeshFilter.mesh; }
set { MeshFilter.mesh = value; }
get { return m_mesh; }
set { MeshFilter.sharedMesh = m_mesh = value; }
}
public Transform MeshTransform {
get;
@@ -42,7 +43,8 @@ namespace Cryville.Crtr {
Initialized = true;
}
public void Destroy() {
Mesh.Destroy(Mesh);
Mesh.Destroy(m_mesh);
m_mesh = null;
GameObject.Destroy(MeshObject);
}
}