39 lines
844 B
C#
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;
|
|
}
|
|
}
|
|
|
|
}
|