Run-and-capture/Assets/Scripts/Items/CaptureAbility.cs
2022-01-18 22:43:19 +03:00

37 lines
937 B
C#

using System;
using DefaultNamespace;
using HexFiled;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
namespace Items
{
[CreateAssetMenu(fileName = "CaptureAbility", menuName = "Item/Ability")]
public class CaptureAbility : Item
{
[SerializeField] private GameObject AimCanvas;
private GameObject _aimInstance;
public void Invoke(Action action)
{
OnItemUsed += action;
_aimInstance = SpawnHelper.Spawn(AimCanvas, Vector3.zero, Unit.Instance);
}
public void Aim(Vector2 direction)
{
_aimInstance.transform.LookAt(HexManager.UnitCurrentCell[Unit.Color].cell
.GetNeighbor(DirectionHelper.VectorToDirection(direction)).transform);
}
public void UseAbility()
{
Unit.UseItem(this);
OnItemUsed?.Invoke();
}
}
}