BITFALL/Assets/Artists/Scripts/Scenes/ColliderBasedSelection.cs

39 lines
844 B
C#

using System.Collections;
using System.Collections.Generic;
using BITKit;
using UnityEngine;
using UnityEngine.Events;
namespace BITFALL.Scenes
{
public class ColliderBasedSelection : MonoBehaviour,ISelectable,IDescription,IAction
{
[SerializeField] private int remainingTimes = -1;
[SerializeField] private string description;
[SerializeField] private UnityEvent onSelected;
[SerializeField] private new Collider collider;
public Transform GetTransform() => transform;
public void SetSelectionState(SelectionState state)
{
}
public string Name => description;
public void Execute()
{
switch (remainingTimes)
{
case -1:
onSelected?.Invoke();
break;
case > 0:
onSelected?.Invoke();
remainingTimes--;
break;
}
if (remainingTimes == 0)
collider.enabled = false;
}
}
}