using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class InputManager : MonoBehaviour
{
[SerializeField]
private Camera sceneCamera;
private Vector3 lastPosition;
[SerializeField]
public RaycastHit hit;
[SerializeField]
private LayerMask placementLayermask;
public event Action OnClicked, OnExit;
private void Update()
{
if(Input.GetMouseButtonDown(0))
OnClicked?.Invoke();
if(Input.GetKeyDown(KeyCode.Escape))
OnExit?.Invoke();
}
public bool IsPointerOverUI()
=> EventSystem.current.IsPointerOverGameObject();
public Vector3 SelectMapPosition()
{
Vector3 mousePos =Input.mousePosition;
mousePos.z=sceneCamera.nearClipPlane;
Ray ray=sceneCamera.ScreenPointToRay(mousePos);
if(Physics.Raycast(ray,out hit,100,placementLayermask))
{
lastPosition =hit.point;
}
return lastPosition;
}
}