Init
This commit is contained in:
42
Assets/Script/Chunk.cs
Normal file
42
Assets/Script/Chunk.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user