37 lines
937 B
C#
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();
|
|
}
|
|
}
|
|
} |