Files

37 lines
916 B
C#

using UnityEngine;
using UnityEngine.EventSystems;
namespace DefaultNamespace.GameOfLife
{
[RequireComponent(typeof(MeshRenderer))]
public class Cell : MonoBehaviour, IPointerClickHandler
{
[SerializeField] private Material _aliveMaterial;
[SerializeField] private Material _deadMaterial;
private bool _isAlive = false;
public bool IsAlive
{
get => _isAlive;
set
{
_isAlive = value;
_meshRenderer.material = value ? _aliveMaterial : _deadMaterial;
}
}
private MeshRenderer _meshRenderer;
private void Awake()
{
_meshRenderer = GetComponent<MeshRenderer>();
IsAlive = false;
}
public void OnPointerClick(PointerEventData eventData)
{
IsAlive = !IsAlive;
}
}
}