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

33 lines
669 B
C#
Raw Normal View History

2023-10-20 19:31:12 +08:00
using System;
2023-08-27 02:58:19 +08:00
using System.Collections;
using System.Collections.Generic;
using BITKit;
using UnityEngine;
using UnityEngine.Events;
namespace BITFALL.Scenes
{
2023-10-20 19:31:12 +08:00
public class ColliderBasedSelection : MonoBehaviour,IDescription,IAction
2023-08-27 02:58:19 +08:00
{
[SerializeField] private string description;
[SerializeField] private UnityEvent onSelected;
[SerializeField] private new Collider collider;
2023-10-20 19:31:12 +08:00
private void Start()
2023-08-27 02:58:19 +08:00
{
2023-10-20 19:31:12 +08:00
if (collider == null)
collider = GetComponent<Collider>();
var selectable = GetComponent<ISelectable>();
selectable.OnActive += Execute;
2023-08-27 02:58:19 +08:00
}
public string Name => description;
2023-10-20 19:31:12 +08:00
2023-08-27 02:58:19 +08:00
public void Execute()
{
2023-10-20 19:31:12 +08:00
onSelected?.Invoke();
2023-08-27 02:58:19 +08:00
}
}
}