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