using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class SelectionManager : MonoBehaviour { public static event Action OnEnemySelectedEvent; public static event Action OnNoSelectionEvent; [Header("Config")] [SerializeField] private LayerMask enemyMask; private Camera mainCamera; private void Awake() { mainCamera = Camera.main; } private void Update() { SelectEnemy(); } private void SelectEnemy() { if (Input.GetMouseButtonDown(0)) { RaycastHit2D hit = Physics2D.Raycast( mainCamera.ScreenToWorldPoint(Input.mousePosition), Vector2.zero, Mathf.Infinity, enemyMask); if (hit.collider != null) { EnemyBrain enemy = hit.collider.GetComponent(); if (enemy == null) return; EnemyHealth enemyHealth = enemy.GetComponent(); if (enemyHealth.CurrentHealth <= 0f) { EnemyLoot enemyLoot = enemy.GetComponent(); LootManager.Instance.ShowLoot(enemyLoot); } else { OnEnemySelectedEvent?.Invoke(enemy); } } else { OnNoSelectionEvent?.Invoke(); } } } }