using System; using UnityEngine; [RequireComponent(typeof(MeshFilter), typeof(MeshRenderer), typeof(MeshCollider))] public class Chunk : MonoBehaviour { [HideInInspector] public Vector3Int position; [HideInInspector] public Mesh mesh; private MeshFilter _meshFilter; private MeshRenderer _meshRenderer; private MeshCollider _meshCollider; private void Awake() { _meshFilter = GetComponent(); _meshCollider = GetComponent(); _meshRenderer = GetComponent(); } private void OnDestroy() { mesh.Clear(); } public void Init(Vector3 offset, Mesh mesh, Material mat) { transform.position = offset; this.mesh = mesh; _meshFilter.sharedMesh = mesh; _meshCollider.sharedMesh = mesh; _meshCollider.enabled = false; _meshCollider.enabled = true; _meshRenderer.material = mat; } }