using System; 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; public bool IsAlive { get => _isAlive; set { _isAlive = value; _meshRenderer.material = _isAlive ? _aliveMaterial : _deadMaterial; } } private MeshRenderer _meshRenderer; private void Awake() { _meshRenderer = GetComponent(); IsAlive = false; } public void OnPointerClick(PointerEventData eventData) { IsAlive = !IsAlive; } } }