TigerProject/Assets/Test/Block/TileClickBreaker.cs

52 lines
1.3 KiB
C#
Raw Normal View History

using UnityEngine;
using UnityEngine.Tilemaps;
using UnityEngine.InputSystem;
public class TileClickBreaker : MonoBehaviour
{
[SerializeField]
private Tilemap tilemap;
void Update()
{
if (Mouse.current == null)
{
return;
}
if (Mouse.current.leftButton.wasPressedThisFrame)
{
Vector2 mousePos = Mouse.current.position.ReadValue();
// 2D<32><44> ī<>޶<EFBFBD> <20><>ǥ <20><>ȯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٸ<EFBFBD><D9B8>ϴ<EFBFBD>
Vector2 worldPos = Camera.main.ScreenToWorldPoint(mousePos);
// 2D <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ij<EFBFBD><C4B3>Ʈ <20><><EFBFBD><EFBFBD>
RaycastHit2D hit = Physics2D.Raycast(worldPos, Vector2.zero);
if (hit.collider != null)
{
Destroy(hit.transform.gameObject);
}
}
}
private void BreakTileAtMousePosition()
{
// <20><><EFBFBD><EFBFBD><ECBDBA> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD> Ȯ<><C8AE>
if (Mouse.current == null)
{
return;
}
// <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20><>ġ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Vector3 mousePos = Mouse.current.position.ReadValue();
Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(mousePos);
Vector3Int cellPosition = tilemap.WorldToCell(mouseWorldPos);
if (tilemap.HasTile(cellPosition))
{
tilemap.SetTile(cellPosition, null);
}
}
}