37 lines
916 B
C#
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;
|
|
}
|
|
}
|
|
} |