using UnityEngine; namespace Cryville.Crtr { public class MeshWrapper { public GameObject MeshObject { get; private set; } public MeshFilter MeshFilter { get; private set; } public Mesh Mesh { get { return MeshFilter.mesh; } set { MeshFilter.mesh = value; } } public Transform MeshTransform { get; private set; } public Renderer Renderer { get; private set; } public bool Initialized { get; private set; } public static Material NewMaterial() { return Material.Instantiate(GenericResources.Materials["-SpriteMat"]); } public void Init(Transform parent) { MeshObject = new GameObject("__mesh__"); MeshTransform = MeshObject.transform; MeshTransform.SetParent(parent, false); if (MeshObject.GetComponent() == null) MeshObject.AddComponent(); if (MeshObject.GetComponent() == null) MeshObject.AddComponent(); MeshFilter = MeshObject.GetComponent(); Renderer = MeshObject.GetComponent(); Initialized = true; } public void Destroy() { Mesh.Destroy(Mesh); GameObject.Destroy(MeshObject); } } }