using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using GatherAndDefend.Events; [RequireComponent(typeof(Button))] public abstract class UnitPlacementButton : MonoBehaviour, IPointerDownHandler { [SerializeField] protected Material _outlineMaterial; [SerializeField] protected Sprite _detectionRangeSprite; [SerializeField] protected int _wood; [SerializeField] protected int _rock; [SerializeField] protected int _food; protected Button _button; [SerializeField] private TMP_Text _foodLabel; [SerializeField] private TMP_Text _woodLabel; [SerializeField] private TMP_Text _rockLabel; protected bool _canSpawn = false; protected virtual void Start() { _button = GetComponent