铲子的开发
导入素材
脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Shovel : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler
{
private Transform shoveImg;
private bool isShove;
public bool IsShove
{
get { return isShove; }
set
{
isShove = value;
if (isShove)
{
shoveImg.localRotation = Quaternion.Euler(0, 0, 45);
}
else
{
shoveImg.localRotation = Quaternion.Euler(0, 0, 0);
shoveImg.transform.position = transform.position;
}
}
}
public void OnPointerClick(PointerEventData eventData)
{
if (IsShove == false)
{
IsShove = true;
}
}
public void OnPointerEnter(PointerEventData eventData)
{
shoveImg.transform.localScale = new Vector2(1.4f, 1.4f);
}
public void OnPointerExit(PointerEventData eventData)
{
shoveImg.transform.localScale = new Vector2(1f, 1f);
}
void Start()
{
shoveImg = transform.Find("Image");
}
void Update()
{
if (IsShove)
{
Vector3 mousePoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
shoveImg.transform.position = new Vector3(mousePoint.x, mousePoint.y, 0);
if (Input.GetMouseButtonDown(0))
{
Grid grid = GridManager.Instance.GetGridByMouse();
if (grid.CurrPlantBase == null) return;
if (Vector2.Distance(Camera.main.ScreenToWorldPoint(Input.mousePosition), grid.CurrPlantBase.transform.position) < 1.5f)
{
grid.CurrPlantBase.Dead();
IsShove = false;
}
}
if (Input.GetMouseButtonDown(1))
{
IsShove = false;
}
}
}
private void OnLVStartAction()
{
IsShove = false;
}
}