Files
Marching-Cubes/Assets/Script/Chunk.cs
2023-03-02 12:39:08 +01:00

43 lines
1022 B
C#

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<MeshFilter>();
_meshCollider = GetComponent<MeshCollider>();
_meshRenderer = GetComponent<MeshRenderer>();
}
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;
}
}